Introduce PlatformImage typealias and Image(platformImageData:) so loaders across the host share one path instead of repeating NSImage/UIImage branches. Fixes iOS build break in widgets.
31 lines
624 B
Swift
31 lines
624 B
Swift
import SwiftUI
|
|
|
|
#if canImport(AppKit)
|
|
import AppKit
|
|
|
|
typealias PlatformImage = NSImage
|
|
|
|
extension Image {
|
|
init(platformImage: PlatformImage) {
|
|
self.init(nsImage: platformImage)
|
|
}
|
|
}
|
|
#elseif canImport(UIKit)
|
|
import UIKit
|
|
|
|
typealias PlatformImage = UIImage
|
|
|
|
extension Image {
|
|
init(platformImage: PlatformImage) {
|
|
self.init(uiImage: platformImage)
|
|
}
|
|
}
|
|
#endif
|
|
|
|
extension Image {
|
|
init?(platformImageData data: Data) {
|
|
guard let image = PlatformImage(data: data) else { return nil }
|
|
self.init(platformImage: image)
|
|
}
|
|
}
|