此 libswiftCore.dylib 副本需要 12.2.0 之前的操作系统版本
Posted
技术标签:
【中文标题】此 libswiftCore.dylib 副本需要 12.2.0 之前的操作系统版本【英文标题】:This copy of libswiftCore.dylib requires an OS version prior to 12.2.0 【发布时间】:2019-08-17 01:36:39 【问题描述】:从 XCode 10.2(在 Swift 5.0 迁移之前和之后)在控制台上运行时,应用程序在启动时崩溃
此 libswiftCore.dylib 副本需要之前的操作系统版本 12.2.0.
我了解该错误,但不确定需要什么来解决此问题。
【问题讨论】:
我们在一些运行 Xcode 10.2 的 CI 作业中也看到了这一点。 你们也在使用 Buck,对吧?我想知道我们使用的是否是xctest
的二进制版本。这是我目前的假设。
【参考方案1】:
确保/usr/lib/swift
是运行时搜索的第一个参数
如果 ios >= 12.2,链接器的路径,它应该加载平台库。
【讨论】:
您是否必须为此修补 Buck 本身? 我们没有使用 Buck 并且仍然收到此错误。我想知道是否有任何通用的解决方案.. 我们有自己的 BUCK 分叉,我们已经修复了, 这和你给 Buck 使用的路径类似吗? gist.github.com/shepting/703b1eda5a4784dfd9ecb4879626bd1f 我从来没有听说过 BUCK,但这个解决方案对我有用!谢谢,现在我终于可以继续分析我的应用了。【参考方案2】:通过添加空的 Swift 文件在我们的 ObjectiveC-only 项目中修复它。 不要删除它,永远保留它!
【讨论】:
这很难看,但确实有效。没有尝试将 swift lib 添加到运行时搜索路径,这可能也解决了问题,并且会更优雅,但它在当天晚些时候,我在这个阶段寻找快速获胜。 在 react native ios 中集成 lottie 时遇到了同样的问题。这个答案奏效了。【参考方案3】:对于未使用 BUCK 但仍遇到此问题的任何人,请尝试在目标的运行时搜索路径中添加 /usr/lib/swift
(在构建设置下)。立即为我解决问题。
【讨论】:
【参考方案4】:这对我有用:
-
转到“窗口”选项卡 -> “设备和模拟器”
切换到“模拟器”标签
点击左下角的“+”
在“设备类型”选择中选择“iPhone X”(或您在控制台错误中看到的任何设备)
点击“创建”
【讨论】:
【参考方案5】:转到BuildSettings -> Linking -> runpath 搜索路径并添加
/usr/lib/swift
作为您的第一个参数,如下所示:
【讨论】:
我知道这里不能说谢谢,但我会写:谢谢!【参考方案6】:检查 Build Settings 中 iOS Deployment Target 的版本是否安装正确,尤其是在使用应用扩展(todayextension、shareextension)时 所有版本必须相同。
【讨论】:
以上是关于此 libswiftCore.dylib 副本需要 12.2.0 之前的操作系统版本的主要内容,如果未能解决你的问题,请参考以下文章
Xcode 7.1 崩溃 - libSwiftCore.dylib
dyld:库未加载:@rpath/libswiftCore.dylib
dyld:库未加载:@rpath/libswiftCore.dylib
快速代码崩溃,日志:dyld:未加载库:@rpath/libswiftCore.dylib