升级Xcode14后iOS13以下设备启动崩溃:dyld加载Swift库失败
解决Xcode 14升级后iOS 13以下设备启动崩溃问题(dyld: Library not loaded: /usr/lib/swift/libswiftCoreGraphics.dylib)
问题原因
Xcode 14 调整了Swift系统库的分发逻辑,iOS 13及以上系统自带libswiftCoreGraphics.dylib这类Swift系统库,但iOS 12及更早版本的系统里没有这些库。用Xcode14编译的应用在低版本设备启动时,动态链接器找不到对应库,直接触发崩溃。
解决方案
按以下步骤配置项目,把缺失的Swift系统库嵌入应用包:
- 打开Xcode项目,选中目标应用(Target),切换到Build Settings标签页
- 在搜索框输入
Always Embed Swift Standard Libraries,找到对应的设置项 - 把这个选项的值从
No改成Yes - 重新编译,部署到iOS 13以下设备测试
要是这么设置后还有问题,可以检查这两点:
- 确认项目里所有第三方依赖(比如CocoaPods管理的库)也开启了
Always Embed Swift Standard Libraries - 用
Cmd+Shift+K清理项目缓存后重新构建
内容的提问来源于stack exchange,提问作者Tom Peter
相关产品推荐
相关产品推荐

