dyld:库未加载:@rpath / libswiftCore.dylib

18 浏览
0 Comments

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日
0
0 Comments

令人惊讶的是,我所做的只是“清理”我的项目(shift+cmd+K),它就能够工作了。虽然似乎与证书有关。

0
0 Comments

对我来说,之前的解决方案都不起作用。我们发现在 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 标准库。

enter image description here

该标志以前称为 Embedded Content Contains Swift Code

0