Yic*_*man 6 xcode ios swift swiftui
我决定在我的应用程序中使用SwiftUI实现一些视图。该应用程序向后兼容iOS 12。
一切正常,直到我在iOS 12设备上运行它。该应用程序立即崩溃,并且收到警告,提示我无法加载SwiftUI。
dyld: Library not loaded: /System/Library/Frameworks/SwiftUI.framework/SwiftUI
Referenced from: /var/containers/Bundle/Application/MyApp.app/MyApp
Reason: image not found
Run Code Online (Sandbox Code Playgroud)
我在所有正确的位置使用@available(iOS 13.0,*),没有编译器警告,并且该应用程序可以在iOS 13上完美运行
我如何才能在iOS 12上使用它?
Yic*_*man 14
原来这是一个已知问题,苹果引入了一个新的构建设置标志来处理它
在Swift软件包中包含SwiftUI的应用程序可能无法在iOS 13之前的iOS版本上运行。(53706729)
解决方法:
当向后部署到不包含SwiftUI框架的操作系统时,请将-weak_framework SwiftUI标志添加到Build Settings选项卡中的Other Linker Flags设置中。有关弱链接框架的更多信息,请参见框架和弱链接。使用导入SwiftUI的动态链接Swift包时,此解决方法不适用。
添加 -weak_framework SwiftUI到Other Linker Flags修复我的问题
您还可以在构建阶段将 SwiftUI.framwerk 标记为可选。详细说明如下。
| 归档时间: |
|
| 查看次数: |
386 次 |
| 最近记录: |