关于 ios:dyld:库未加载:Xcode 更新后的 @rpath/libswiftCore.dylib

dyld: Library not loaded: @rpath/libswiftCore.dylib after Xcode Update

我一直在开发一个应用程序时遇到问题。一切都很好,直到发疯并将 Xcode 更新到 9.4(以前是 9.3)。

我正在使用在 swift 4.0.3 上编译的第三方框架。我工作得很好,但更新后它不会编译(无法构建在 4.0.3 和 4.1 上编译的框架)。我下载并安装了 Swift 4.0.3 发布工具链,我可以在没有错误的情况下进行构建。

但是,当我在设备(iOS 9.0 ipad)上运行目标时,它会因 dyld`dyld_fatal_error 崩溃:

1
2
3
4
 dyld`dyld_fatal_error:

 0x1fe9008c <+0>: trap  
 0x1fe90090 <+4>: nop

控制台输出:

1
2
3
dyld: Library not loaded: @rpath/libswiftCore.dylib  
Referenced from: /private/var/containers/Bundle/Application/2E966F50-67E3-4250-858C-382319CD6274/myApp.app/Frameworks/myFramework.framework/myFramework Reason: Incompatible library version: myFramework  requires version
1.0.0 or later, but libswiftCore.dylib provides version 0.0.0

一些事实:

  • 该框架位于通用下的嵌入式二进制文件和链接框架和库中,以及构建阶段下的链接二进制文件和库和嵌入框架中。

  • 此应用程序需要在 iOS 9.0 上部署,并相应设置部署目标。

  • 我再次安装了 Xcode 9.3,但我在使用 4.0.3 工具链时遇到了同样的问题。

我的怀疑:

  • 工具链会以某种方式损坏吗?我安装了 Swift 4.0.3 Release 2017-12-05 (a)

  • 即使我使用的是 4.0 工具链,我也只能在 Build Settings 的 Swift Compiler 下从 4.1 和 3.3 中进行选择。我想这被覆盖了,但不

  • 我主要担心的是,即使部署目标设置为iOS 9.0,在BASE SDK 设置为11.3 的情况下,也无法选择其他。我在互联网上找不到 9.0 SDK。这可能是问题吗?

  • 另外,我所有的证书都是有效的。

提前致谢,我会在每次发现新内容时添加编辑。


按照@Danf 的指示为我解决了。


好吧,我在这里没有得到任何帮助,但以防万一有人需要知道,我设法解决这个问题的唯一方法是要求我们正在使用的框架的更新版本。看来这是一个没有解决方案的兼容性问题。