dyld:库未加载:@rpath / libswiftCore.dylib
dyld:库未加载:@rpath / libswiftCore.dylib
我正在尝试在我的iPhone 4s上运行一个Swift应用程序。在模拟器上它正常运行,我的朋友也可以在他的iPhone 4s上成功运行它。我有iOS 8和Xcode 6的官方版本。
我尝试过:
- 重启Xcode、iPhone和计算机
- 清理并重新构建
- 吊销并创建新的证书/预配资料
- Runpath搜索路径是
$(inherited) @executable_path/Frameworks
- 嵌入内容包含Swift代码为“是”
- 代码签名身份为开发人员
下面是完整的错误信息:
dyld: Library not loaded: @rpath/libswiftCore.dylib Referenced from: /private/var/mobile/Containers/Bundle/Application/LONGSERIALNUMBER/AppName.app/AppName Reason: no suitable image found. Did find: /private/var/mobile/Containers/Bundle/Application/LONGSERIALNUMBER/AppName.app/Frameworks/libswiftCore.dylib: mmap() error 1 at address=0x008A1000, size=0x001A4000 segment=__TEXT in Segment::map() mapping /private/var/mobile/Containers/Bundle/Application/LONGSERIALNUMBER/APPLICATION_NAME/Frameworks/libswiftCore.dylib
admin 更改状态以发布 2023年5月25日
对我来说,之前的解决方案都不起作用。我们发现在 Build Settings 中有一个 "Always Embed Swift Standard Libraries" 标志,需要将其设置为 YES。它默认值为 NO!
Build Settings > Always Embed Swift Standard Libraries
设置完毕后,再次构建之前请先清理项目。
对于热心读者的一些说明 最重要的部分如下:
在您的应用程序中将嵌入内容包含 Swift 代码 (EMBEDDED_CONTENT_CONTAINS_SWIFT) 构建设置设置为 YES,如图 2 所示。这个构建设置指定目标产品是否有包含 Swift 代码的嵌入式内容,当设置为 YES 时,告诉 Xcode 在您的应用中嵌入 Swift 标准库。
该标志以前称为 Embedded Content Contains Swift Code