一个在 Xcode 11 beta 3 中编译良好的项目,无法在 beta 4 中编译,并在 pod 中出现错误:
<unknown>:0: error: unknown argument: '-Wno-shorten-64-to-32'
Command CompileSwiftSources failed with a nonzero exit code
有问题的 pod 是 Down,一个 Swift 中的 Markdown 库。
这与另一个SO问题非常相似,但具有不同的"未知参数":
错误:未知参数:">-Wno-缩短-64-to-32">
有什么建议吗?
掉 Down.podspec 文件中的这一行:
spec.compiler_flags = '-Wno-shorten-64-to-32'
至少目前为我工作。不过,不承诺没有任何副作用。由于各种原因,我有一个本地版本的 pod,所以这对我来说相当简单;您的结果可能会有所不同,但它会让您暂时重新启动并运行。
遇到此讨论的人的利益,请查看此CocoaPods线程。事实证明,CocoaPods 向 Swift 传递不可接受的标志存在问题,beta 4 编译器现在拒绝此类标志,而前一个编译器则没有。在 Down 的情况下,-Wno-shorten-64-to-32
标志对于 Objective-C 编译器是可以的,但不能用于 Swift。向下可以通过取出
spec.compiler_flags = '-Wno-shorten-64-to-32'
正如Mike Glass在这里建议的那样,但从长远来看,CocoaPods必须允许在不同编译器之间分离编译器标志,如果需要匹配CocoaPods修复所需的任何新podspec语法,则必须进行相应的向下更新。
Xcode 11.3中遇到了这个问题。清除了与派生数据相关的所有操作,pod 删除以及互联网上可用的所有内容,但没有运气,并且该应用程序无法在真实设备上调试。然后认为可能是Xcode崩溃的问题,只是将Xcode删除到垃圾箱并清除垃圾箱,然后重新安装Xcode 11.3的新副本。由于我的假设,它对我有用。