fix: build on non-macOS.

This commit is contained in:
Shibo Lyu 2024-12-18 16:49:24 +08:00
parent a9672b8a33
commit 7042102108
3 changed files with 9 additions and 2 deletions

View file

@ -233,7 +233,7 @@ public struct CropImageView<Controls: View, CutHole: View>: View {
var body: some View { var body: some View {
VStack { VStack {
CropImageView( CropImageView(
image: .init(contentsOf: URL(string: "file:///System/Library/Desktop%20Pictures/Hello%20Metallic%20Blue.heic")!)!, image: .previewImage,
targetSize: targetSize targetSize: targetSize
) { ) {
result = $0 result = $0

View file

@ -13,10 +13,17 @@ import AppKit
/// ///
/// On macOS, it's `NSImage` and on iOS/visionOS it's `UIImage`. /// On macOS, it's `NSImage` and on iOS/visionOS it's `UIImage`.
public typealias PlatformImage = NSImage public typealias PlatformImage = NSImage
extension PlatformImage {
static let previewImage: PlatformImage = .init(contentsOf: URL(string: "file:///System/Library/Desktop%20Pictures/Hello%20Metallic%20Blue.heic")!)!
}
#else #else
import UIKit import UIKit
/// The image object type, aliased to each platform. /// The image object type, aliased to each platform.
/// ///
/// On macOS, it's `NSImage` and on iOS/visionOS it's `UIImage`. /// On macOS, it's `NSImage` and on iOS/visionOS it's `UIImage`.
public typealias PlatformImage = UIImage public typealias PlatformImage = UIImage
extension PlatformImage {
// This doesn't really work, but at least passes build.
static let previewImage: PlatformImage = .init(contentsOfFile: "/System/Library/Desktop Pictures/Hello Metallic Blue.heic")!
}
#endif #endif

View file

@ -202,7 +202,7 @@ struct UnderlyingImageView: View {
offset: $offset, offset: $offset,
scale: $scale, scale: $scale,
rotation: $rotation, rotation: $rotation,
image: .init(contentsOf: URL(string: "file:///System/Library/Desktop%20Pictures/Hello%20Metallic%20Blue.heic")!)!, image: .previewImage,
viewSize: .init(width: 200, height: 100), viewSize: .init(width: 200, height: 100),
targetSize: .init(width: 100, height: 100), targetSize: .init(width: 100, height: 100),
fulfillTargetFrame: true fulfillTargetFrame: true