Xcode 10.2,Swift 5,命令compileSwift在使用Release Scheme生成程序时失败

时间:2019-03-26 07:23:31

标签: ios swift xcode cocoapods

我正在使用Xcode 10.2,Swift 5。

在使用Debug方案时,没有问题,但是在构建或归档时使用Release方案,它显示Command compileSwift失败,退出代码为非零。

我已经尝试删除DerivedData / Clean / pod deintegrate和pod安装以及pod更新。这些都不起作用。

enter image description here enter image description here

7 个答案:

答案 0 :(得分:6)

对于我的项目,问题与pod Cache有关,当Optimization Level的{​​{1}}设置为Release时出现错误。我再次将Optimize for Speed [-O]设置为Compilation Mode,并在pod文件中设置了pod的优化级别:

Whole Module

引用:https://github.com/hyperoslo/Cache/issues/233#issuecomment-477749560

答案 1 :(得分:5)

我通过转到 Pods Project ,然后进行了建筑物设置,并将发布编译模式设置为增量,解决了此问题。强>。然后清理并存档,然后再编译即可。

答案 2 :(得分:1)

所以在将项目更新到Swift 5时遇到了同样的问题。 由于某些原因,Cocoapods(最新版本1.6.1)将某些Pod的SWIFT_VERSION设置为Swift 5,即使它们以Swift 4、4.1、4.2 Pod的形式发布。 因此,我必须添加一个安装后脚本来像这样设置swift的更正版本

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

答案 3 :(得分:1)

升级到Xcode 10.2后,我遇到了同样的问题。完成以下步骤后,它对我有用:

  1. 更新广告连播
  2. 清理项目文件夹
  3. 将Pods项目的快速语言版本更改为未指定,并将(如@Neil Faulkner建议的那样)将编译模式更改为增量 strong>

答案 4 :(得分:1)

我必须将“ Swift Compiler-Code Generation”中的“ Optimization Level”设置为从“ Optimize for speed”的“ Release”-“ No Optimization [-Onone]”,才能使Cache通过Archive。

与SwiftyBeaver相同

似乎与Xcode 10.2有关的问题。另外,其他豆荚项目似乎也适合使用优化,例如Toucan或XCGLogger。

答案 5 :(得分:1)

在我看来,它的出现可能是因为我在构建时再次运行了项目。 因此,我所做的不仅是清理,还使用

文件夹清理了我的项目
SHITF + ALT + COMMAND  + K 

我还删除了派生数据,该项目重新启动并运行。

答案 6 :(得分:0)

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

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

所有这些错误都是由于pods..so所致,所以您要么需要更新正在使用的每个pod。