2023-11-01 17:58:44 +00:00
|
|
|
import CoreTransferable
|
2023-10-18 10:19:39 +00:00
|
|
|
import SwiftUI
|
|
|
|
import UIKit
|
|
|
|
|
|
|
|
struct MediaUIImageTransferable: Codable, Transferable {
|
|
|
|
let url: URL
|
2023-11-01 17:58:44 +00:00
|
|
|
|
2024-01-06 13:24:52 +00:00
|
|
|
func fetchData() async -> Data {
|
|
|
|
do {
|
|
|
|
return try await URLSession.shared.data(from: url).0
|
|
|
|
} catch {
|
|
|
|
return Data()
|
2023-10-18 10:19:39 +00:00
|
|
|
}
|
|
|
|
}
|
2023-11-01 17:58:44 +00:00
|
|
|
|
2023-10-18 10:19:39 +00:00
|
|
|
static var transferRepresentation: some TransferRepresentation {
|
2024-01-06 13:49:07 +00:00
|
|
|
DataRepresentation(exportedContentType: .jpeg) { transferable in
|
|
|
|
await transferable.fetchData()
|
2023-10-18 10:19:39 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|