Xcode 11 beta 4 构建错误:“Command CompileSwiftSources failed with a nonzero exit code”(错误:未知参数:'-Wno-sho

Posted

技术标签:

【中文标题】Xcode 11 beta 4 构建错误:“Command CompileSwiftSources failed with a nonzero exit code”(错误:未知参数:\'-Wno-shorten-64-to-32\')【英文标题】:Xcode 11 beta 4 build error: "Command CompileSwiftSources failed with a nonzero exit code" (error: unknown argument: '-Wno-shorten-64-to-32')Xcode 11 beta 4 构建错误:“Command CompileSwiftSources failed with a nonzero exit code”(错误:未知参数:'-Wno-shorten-64-to-32') 【发布时间】:2019-07-18 07:55:25 【问题描述】:

在 Xcode 11 beta 3 中编译良好的项目,在 pod 中无法在 beta 4 中编译:

<unknown>:0: error: unknown argument: '-Wno-shorten-64-to-32'
Command CompileSwiftSources failed with a nonzero exit code

有问题的 pod 是 Down,它是 Swift 中的 Markdown 库。

这与另一个SO question 非常相似,但具有不同的“未知参数”:

错误:未知参数:'-Wno-shorten-64-to-32'

有什么建议吗?

【问题讨论】:

也遇到了这个问题。我在 Down repo 上提出了一个问题:github.com/iwasrobbed/Down/issues/162 Xcode 11 beta 4 error: Command CompileSwiftSources failed with a nonzero exit code的可能重复 不是那个错误的重复;在为解决该问题而发布的 Cocoapods 版本中仍然会出现此问题。 【参考方案1】:

在 Down.podspec 文件中注释掉这一行:

spec.compiler_flags = '-Wno-shorten-64-to-32' 

至少现在对我有用。没有承诺没有任何副作用。由于各种原因,我有一个本地版本的 pod,所以这对我来说相当简单;您的结果可能会有所不同,但它会让您暂时重新启动并运行。

【讨论】:

我有这个确切的问题,在 Down 中也不少,但在任何地方都找不到 Down.podspec 文件,也找不到包含 no-shorten-64-to-32 的文件。我正在尝试将一个项目移植到 beta 编译器,并且我想弄清楚这是从哪里来的。还有什么想法吗? podspec 文件是它与 cocoapods 一起工作的一部分;您必须拥有 pod 的完整本地版本。就我而言,我有自己的 fork,并在我自己的 podspec 副本中进行了修改。我还没有尝试过,但我想你可以从 here 获取一份 podspec 的副本并更新你的 podfile 以引用它:https://guides.cocoapods.org/syntax/podfile.html#podspec【参考方案2】:

为了其他遇到此讨论的人的利益,请查看this CocoaPods thread。事实证明,CocoaPods 将不可接受的标志传递给 Swift 存在问题,并且 beta 4 编译器现在拒绝此类标志,而之前的编译器没有。在 Down 的情况下,-Wno-shorten-64-to-32 标志适用于 Objective-C 编译器,但不适用于 Swift。 Down 可以在短期内通过移除

来解决这个问题
spec.compiler_flags = '-Wno-shorten-64-to-32' 

line,正如 Mike Glass 在这里所建议的那样,但从长远来看,CocoaPods 必须允许在不同编译器之间分离编译器标志,然后根据需要进行相应的 Down 更新,以匹配 CocoaPods 修复所需的任何新 podspec 语法。

【讨论】:

【参考方案3】:

在 Xcode 11.3 中遇到了这个问题。完成了与派生数据相关的所有事情,清除 pod 以及互联网上可用的所有内容,但没有运气,并且该应用程序没有在真实设备上调试。然后认为这可能是Xcode崩溃的问题,只是将Xcode删除到垃圾箱并清除了垃圾箱,然后重新安装了Xcode 11.3的新副本。 感谢我的假设,它对我有用。

【讨论】:

以上是关于Xcode 11 beta 4 构建错误:“Command CompileSwiftSources failed with a nonzero exit code”(错误:未知参数:'-Wno-sho的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 11 beta 中的配置文件错误

不符合协议 BindableObject - Xcode 11 Beta 4

Xcode 4.2 Beta:我可以为 iOS 4.x 构建吗?

如何使用 Xcode 12 Beta 4 构建 React-Native 项目?

Spotify iOS SDK Beta 5 构建错误

在 Xcode11 Beta 4 中将 String(format: , args) 与 SwiftUI 一起使用时出错