And*_*net 3 ios swift swift-package-manager swiftui combine
我有一个支持 iOS 10、macOS 10.13、tvOS 10 和 watchOS 2 的 Swift 包。我希望这个包公开一些 SwiftUI 功能,当引用模块可以导入 SwiftUI 时可以使用这些功能。例如,使我的包类型(Persisted
)符合SwiftUI协议DynamicProperty
:
#if canImport(SwiftUI)
import SwiftUI
@available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
extension Persisted: DynamicProperty { }
#endif
Run Code Online (Sandbox Code Playgroud)
完成上述操作后,在为“任何 iOS 设备(arm64)”构建时不再构建项目 - 我收到编译器错误:
在范围内找不到类型“DynamicProperty”
当我将构建目标更改为任何 iPhone 模拟器时,它构建正常。当为“任何 Mac”、“任何 tvOS 设备”等构建时,它也可以正常构建。我需要做什么才能为任何 iOS 构建包?
小智 6
根据这篇 reddit 帖子,这与 SwiftUI 在某些 ARM 架构上的可用性有关。
以下条件为我解决了这个问题:
#if canImport(SwiftUI) && (!os(iOS) || arch(arm64))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
540 次 |
最近记录: |