我在使用一段时间的应用程序时遇到问题。一切都很好,直到发疯了,并将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。可能是问题所在吗?
此外,我所有的证书都有效并且可以。
在此先感谢您,每次发现新内容时都会添加编辑内容。
答案 0 :(得分:0)
好吧,我在这里没有得到任何帮助,但是以防万一有人需要知道,我设法解决此问题的唯一方法是要求我们使用的框架的更新版本 。看来这是一个没有解决方案的兼容性问题。
答案 1 :(得分:0)
按照@Danf指令为我解决了。