Xcode 10.2, Swift 5, 命令编译 Swift 失败, 同时使用发布方案构建程序

共6个回答, 标签: ios swift xcode cocoapods

我使用的是 Xcode 10.2, Swift 5。

使用 Debug 方案时, 不会出现任何问题, 但在生成或存档时使用发布方案时, 它显示命令编译 Swift 失败, 并使用非零退出代码。

我已经尝试删除衍生数据/清洁/吊舱解体 & 吊舱安装 & 吊舱更新。这些都不管用。

enter image description hereenter image description here

第1个答案

我修复了这个问题, 通过转到 pod 项目然后到建筑设置, 并将编译模式设置为增量释放。然后清理和归档, 应该编译好。

第2个答案

因为我的项目问题与吊舱有关, Cache 当设置为时, 吊舱会给出错误 Optimization Level Release Optimize for Speed [-O] 。我已设置 Compilation Mode Whole Module 再次, 并设置在吊舱文件中的吊舱优化级别:

post_install do |installer|
  installer.pods_project.targets.each do |target|
    # Cache pod does not accept optimization level '-O', causing Bus 10 error. Use '-Osize' or '-Onone'
    if target.name == 'Cache'
      target.build_configurations.each do |config|
        level = '-Osize'
        config.build_settings['SWIFT_OPTIMIZATION_LEVEL'] = level
        puts "Set #{target.name} #{config.name} to Optimization Level #{level}"
      end
    end
  end
end

Https://github.com/hyperoslo/Cache/issues/233#issuecomment-477749560[](https://github.com/hyperoslo/Cache/issues/233#issuecomment-477749560)

第3个答案

所以我有同样的问题, 当更新我的项目到 Swift 5。 出于某种原因, Cocoapods (最新版本, 1.6.1) 将某些吊舱的 SWIFT _ 版本设置为 Swift 5, 即使它们被释放为 Swift 4, 4.1, 4.2 吊舱。 所以我不得不添加一个安装后脚本, 设置像这样的快速的校正版本

post_install do |installer|
  installer.pods_project.targets.each do |target|
    if target.name == 'CryptoSwift' || target.name == 'SwiftyBeaver'
      target.build_configurations.each do |config|
        config.build_settings['SWIFT_VERSION'] = '4.2'
      end
    end
  end
end
第4个答案

升级到 Xcode 10.2 后, 我也遇到了同样的问题。按照下面的步骤后, 它为我工作:

  1. 更新吊舱
  2. 清除项目文件夹
  3. 将 Pod 项目的 快速语言版本更改为"未指定"和 "(如 @Neil 福克纳建议的)编译模式" (将增量)
第5个答案

我必须将 "Swift 编译器-代码生成" 中的 "优化级别" 设置为 "发布"-"无优化 [-onone]", 从 "优化速度", 使缓存通过存档。

斯威夫特海狸也是如此

这似乎是一个与 Xcode 10.2 相关的问题。另外, 其他吊舱项目似乎也很适合优化, 比如 Toucan 或 XCGLogger。

第6个答案

您可以按照以下步骤操作..。

  1. 请确保将 Swift 版本更改为当前版本。
  2. 更新您的所有吊舱。
  3. 清除 Xcode 的所有派生数据。
  4. 现在重新启动 Mac。

你得到的所有这些错误都只是因为吊舱。所以要么你需要更新你正在使用的每个吊舱。

相关问题

资源调配配置文件不包括应用程序标识符和密钥链访问组权限 Xcode 10.2, Swift 5, 命令编译 Swift 失败, 同时使用发布方案构建程序 使用 Swift 4.2.1 编译的模块不能由 Swift 5.0 编译器导入 Xcode 11: Canvas 不显示 Xcode 错误 ITMS-90783: “缺少捆绑包显示名称” Stuck-本地安装所需的 CocoaPods 依赖关系被卡住 IOS-App watchOS 出版发行 CFBundleIdentifier 碰撞