【问题标题】:This copy of libswiftCore.dylib requires an OS version prior to 12.2.0此 libswiftCore.dylib 副本需要 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 的二进制版本。这是我目前的假设。

标签: ios swift5 xcode10.2


【解决方案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】:

    这对我有用:

    1. 转到“窗口”选项卡 -> “设备和模拟器”
    2. 切换到“模拟器”标签
    3. 点击左下角的“+”
    4. 在“设备类型”选择中选择“iPhone X”(或您在控制台错误中看到的任何设备)
    5. 点击“创建”

    【讨论】:

      【解决方案5】:

      转到BuildSettings -> Linking -> runpath 搜索路径并添加

      /usr/lib/swift

      作为您的第一个参数,如下所示:

      【讨论】:

      • 我知道这里不能说谢谢,但我会写:谢谢!
      【解决方案6】:

      检查 Build Settings 中 iOS Deployment Target 的版本是否安装正确,尤其是在使用应用扩展(todayextension、shareextension)时 所有版本必须相同。

      【讨论】:

        猜你喜欢
        • 2019-09-02
        • 2019-10-03
        • 1970-01-01
        • 2012-02-05
        • 1970-01-01
        • 2018-04-24
        • 2012-02-05
        • 2021-04-29
        • 1970-01-01
        相关资源
        最近更新 更多