diff --git a/Packages/MediaUI/Sources/MediaUI/MediaUITransferableImage.swift b/Packages/MediaUI/Sources/MediaUI/MediaUITransferableImage.swift index f4336e9e..864a9bd1 100644 --- a/Packages/MediaUI/Sources/MediaUI/MediaUITransferableImage.swift +++ b/Packages/MediaUI/Sources/MediaUI/MediaUITransferableImage.swift @@ -5,17 +5,17 @@ import UIKit struct MediaUIImageTransferable: Codable, Transferable { let url: URL - func fetchAsImage() -> Image { - let data = try? Data(contentsOf: url) - guard let data, let uiimage = UIImage(data: data) else { - return Image(systemName: "photo") + func fetchData() async -> Data { + do { + return try await URLSession.shared.data(from: url).0 + } catch { + return Data() } - return Image(uiImage: uiimage) } static var transferRepresentation: some TransferRepresentation { - ProxyRepresentation { media in - media.fetchAsImage() + DataRepresentation(exportedContentType: .jpeg) { media in + await media.fetchData() } } }