gpt4 book ai didi

ios - SwiftUI - 在低于或等于 iOS 10 的部署目标上出现 “Use of undeclared type xxx”

转载 作者:行者123 更新时间:2023-12-01 15:41:02 25 4
gpt4 key购买 nike

在归档/构建使用 SwiftUI 平台 <= iOS 10 的应用程序时,编译器会抛出错误“使用未声明的类型”。

即使封闭类型标记为@available(iOS 13.0, *) 并且还使用#if canImport(SwiftUI),也会发生这种情况。

SwiftUI 框架也是弱链接的。

如果您在 iOS 11+ 设备上运行(调试),或者为支持的最低版本 <= iOS 11 的目标归档,一切正常。

enter image description here

最佳答案

出现此故障是因为部署目标早于 iOS 11 的构建也会为 armv7 架构构建,并且 iOS SDK 中没有用于 SwiftUI 的 armv7 swiftmodule,因为首次引入它的 OS 版本(iOS 13)不支持armv7 了。

我已经设法通过将 SwiftUI 代码/文件包装在 #if arch(arm64) 的预处理器中来解决归档问题。 .

例子 -

#if arch(arm64)
@available(iOS 13.0, *)
struct MyCustomView: View {
var myStrings: [String]
var body: some View {
List {
ForEach(myStrings) { str in
Text(str)
}
}
}
}
#endif

如果您的部署目标是 <= iOS 10,这确实会禁用预览。
但如果仅在归档时使用,这确实有效。

如果有人知道更好的解决方案。请分享。

添加此答案,以便我这种情况的人至少可以使其与 SwiftUI 一起使用。

干杯!

关于ios - SwiftUI - 在低于或等于 iOS 10 的部署目标上出现 “Use of undeclared type xxx”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61954607/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com