更新到Xcode 10.2后如何修复“总线错误10”

时间:2019-03-28 11:43:26

标签: cocoapods ipa bus-error xcode10.2

我将Xcode更新为新的稳定版10.2v。我试图建立我的项目,并且成功了。当我尝试归档项目(工作区)时,出现如下屏幕截图所示的错误:

到目前为止,我已经尝试过:

  1. 将可可豆荚更新到最新版本-> COCOAPODS:1.7.0.beta.3
  2. 清理DeliveredData文件夹
  3. 重新安装Xcode
  4. 删除存储库,再次克隆它并安装Pod
  5. 从项目中完全删除所有Pod,然后重新添加回它们

3 个答案:

答案 0 :(得分:15)

临时解决方法

对我来说,这只是Cache框架。在修复该问题之前,您可以将要用于归档的配置手动设置SWIFT_OPTIMIZATION_LEVEL-Onone

CocoaPods

如果您不想每次运行pod install

时Cococapods都覆盖设置,甚至可以使用Podfile。
post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            if target.name == 'Cache'
                config.build_settings['SWIFT_OPTIMIZATION_LEVEL'] = '-Onone'
            end
        end
    end
end
  

请注意,这专门检查Cache框架。如果您对其他框架有疑问,则可能需要更改或扩展此条件。

答案 1 :(得分:2)

虽然Lukas回答了在Cache pod上禁用优化的答案,但我在Alex的GitHub存储库中跟踪了Alex的问题链接,发现有一个开放的pull请求,其中有一个非常简单的代码更改即可解决该问题。我已解锁文件并在本地进行更改。

以下是PR:https://github.com/hyperoslo/Cache/pull/236

应用此差异:https://github.com/hyperoslo/Cache/pull/236/commits/560f00a9a9549db161ca70d96eed74fc580b03e3#diff-9e53dc1370d4f7c9cdaaa103d26ff096

在这里重复一遍,在文件MD5.swift中将safe_add函数更改为:

func safe_add(_ x: Int32, _ y: Int32) -> Int32 {
  return x &+ y
}

(免责声明:我并不声称知道更改的正确性,但似乎合并PR的延迟是由于弄清楚谁目前正在维护该回购。)

答案 2 :(得分:1)

答案在这里:https://github.com/hyperoslo/Cache/issues/238

我们正在等待此仓库的所有者发出任何生命迹象...