dyld:库未加载:Xcode更新后,@ rpath / libswiftCore.dylib

时间:2018-08-28 15:51:27

标签: ios swift xcode dylib dyld

我在使用一段时间的应用程序时遇到问题。一切都很好,直到发疯了,并将Xcode更新为9.4(以前的9.3)。

我正在使用在Swift 4.0.3上编译的第三方框架。我工作得很好,但更新后无法编译(无法构建在4.1上在4.0.3上编译的框架)。我下载并安装了 Swift 4.0.3发布工具链,并且我能够毫无错误地进行构建。

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

 dyld`dyld_fatal_error:

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

控制台输出以下内容:

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版本2017-12-05(a)

  • 即使我使用4.0工具链,也只能在“构建设置”中的Swift Compiler下从4.1和3.3中进行选择。我想这已被覆盖,但不确定。

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

  • 此外,我所有的证书都有效并且可以。

在此先感谢您,每次发现新内容时都会添加编辑内容。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

按照@Danf指令为我解决了。