下午好,
目前(版本10.0)更新到最新版本的Xcode后,该项目无法构建,因为它发现了一些有关“ Command CompileSwift失败,退出代码为非零”的错误。
如何解决此错误? 它们出现在项目中使用的大多数Pod中(我使用CocoaPods)。
我尝试将广告连播版本和广告连播更新为可用的最新版本,但是问题仍然存在。
我在网络上进行了大量搜索,关于此问题的信息很少。
致谢。
答案 0 :(得分:29)
当前,我的构建正在运行。 在这里,您可以尝试完成以下步骤:
如果没有该Pod,也许您可以尝试使用与项目中可能遇到的一些旧Pod相同的步骤。
添加的信息:另外,如果Pod内发生代码错误,则首先需要解决该代码问题,然后尝试再次编译项目。
我将复制在project.pbxproj中所做的更改。我知道这不是很有帮助,但这是唯一的git不同提交更改的东西:
Removed: BDC9821B1E9BD1B600ADE0EF /* (null) in Sources */ = {isa = PBXBuildFile; };
Added: BDC9821B1E9BD1B600ADE0EF /* BuildFile in Sources */ = {isa = PBXBuildFile; };
我希望这会有所帮助,
致谢。
答案 1 :(得分:19)
对我来说,清理项目可以使用 Shift 命令 K 和选项 Shift 命令 < kbd> K 。
答案 2 :(得分:18)
答案 3 :(得分:10)
您很可能没有阅读完整的错误消息。如果您在“命令CompileSwift失败并返回非零退出代码”消息上方查看,应该找到类似以下的规范:
在此示例中,我有两个名称相同的文件。一旦我修复了它,一切都会按预期进行。
答案 4 :(得分:10)
Clean the application and try to build it again, using ShiftOptionCommandK then CommandB.
答案 5 :(得分:8)
我的问题是由于本机Switf CommonCrypto不存在,我使用了一个桥接标头和一个在构建过程中包含了一些魔术的目标。由于CommonCrypto现在是本机的,因此我通过删除目标和#import来解决了该问题,而是在使用它的地方添加了一个导入CommonCrypto。
答案 6 :(得分:7)
这是Swift 4.2和Xcode 10的一个已知问题。我在这里找到一篇文章为我修复:https://github.com/Yummypets/YPImagePicker/issues/236
简而言之,转到项目的构建设置,然后添加一个名为SWIFT_ENABLE_BATCH_MODE的用户定义设置,并将其值设置为NO。
以前,我尝试过在其他地方建议的以下每种方法(重建,退出Xcode,清理和重建,清除派生数据文件)。他们都没有工作。
一旦我在文章中添加了用户定义的构建设置,Swift就会告诉我真正的错误。就我而言,这是一个缺失的},但可能有许多问题。
答案 7 :(得分:3)
运行pod install --repo-update
并关闭并重新打开x代码可以解决我所有出现此错误的Pod上的问题。
答案 8 :(得分:3)
我做了以下事情,它的作用就像魅力:
Locations
标签Derived Data
的URL路径查找器窗口将打开并显示以下文件夹:
DerivedData
Archives
iOS DeviceSupport
UserData
DocumentationCache
iOS Device Logs
退出Xcode
DerivedData
文件夹(它只包含以前版本的缓存)答案 9 :(得分:3)
让我分享此问题修复的经验。
打开目标->构建阶段->复制捆绑资源并删除info.plist。
注意:如果您使用的是任何扩展程序,请从“目标”中删除该扩展程序的info.plist。
希望有帮助。
答案 10 :(得分:3)
我尝试了
pod install --repo-update
,所有这些仍然无法解决问题。 重启Mac可以达到目的。
答案 11 :(得分:2)
这是解决方案: -转到构建设置 -搜索SWIFT_COMPILATION_MODE -如果这是用于Release配置的“ Whole Module”,则将其更改为“ Incremental”。 -立即存档。
将设置更改为“增量”时,过程成功。
答案 12 :(得分:2)
类重新声明将成为问题。检查重复的类并进行构建。
答案 13 :(得分:2)
我的是一个名字间隔问题。我有两个同名文件。刚刚重命名它们,它解决了。
在查看其他地方之前,请务必先选中“愚蠢的我”框。 :)
答案 14 :(得分:2)
在我的情况下,问题是由于watchkit扩展设置为swift 3而主项目的目标设置为swift 4.2
答案 15 :(得分:1)
这似乎是一个非常模糊的错误,所以当我遇到这个错误时,我将分享修复它的方法:
使用Xcode 10.1和Swift 4.2,我在这里尝试了几乎所有建议,但没有一个对我有用,然后我意识到我所使用的依赖项与Swift 4.2不兼容,这导致我在其他错误中得到此错误。豆荚。因此,要解决此问题,我只需要通过将其放在我的Podfile
的末尾来强制该pod使用Swift 4.0:
post_install do |installer|
installer.pods_project.targets.each do |target|
if ['TKRadarChart'].include? target.name
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '4.0'
end
end
end
结束
答案 16 :(得分:1)
我也遇到了相同的问题,我按照@cdeerinck的建议进行操作,然后转到以下link,该建议建议将用户定义的变量添加到 Build Settings 以禁用批处理模式,即添加一个名为 SWIFT_ENABLE_BATCH_MODE 的用户定义的新变量,并将其设置为 NO ,我能够对该问题有更多的了解,并且我知道该错误是在框架中使用添加到我的 CommonCrypto ,但由于 Xcode 10 ,它作为Swift的一部分(仅适用于Apple平台)本地公开,并添加(或其以前版本的存在)引起名称冲突,因此引发了错误。要了解更多信息,请参阅this link,其中更详细地说明了该问题。
答案 17 :(得分:1)
错误=命令CompileSwiftSources失败,退出代码非零
在我的情况下,当我发现此错误时,我局促了编译。但是当我看到一些相关的问题答案时。我在项目中找到一个重复文件。相同的viewController作为类文件存在的地方。是的,当我意识到这一点时,便将其更名为新名称。是的,事情变了!!!
答案 18 :(得分:1)
对于我来说,错误消息说我打开太多的模拟器文件来构建Swift。当我退出模拟器并重新构建时,一切正常。
答案 19 :(得分:1)
我遇到了同样的问题,我的解决方案是在“构建设置”中进行一些更改
SWIFT_COMPILATION_MODE = singlefile;
SWIFT_OPTIMIZATION_LEVEL = "-O";
答案 20 :(得分:1)
我从 Xcode 10 开始随机获得了这个。我认为在构建开始时更改代码中的某些内容时会发生这种情况。
每次构建都可以使用下一个版本。
答案 21 :(得分:1)
只需添加此问题即可。我的问题与CommonCrypto没有任何关系。它创建了一个新的Single App应用程序并经过测试可以运行。编译器抱怨使用Swift 4.2
在“构建”设置中将Swift语言更改为版本4.0可以解决此问题。不确定这是否是错误。
答案 22 :(得分:1)
我搜索了整个网络,但找不到针对此问题的任何解决方案。我设法删除了“构建设置中的导入路径”部分中的“通用加密”路径。 问题似乎是,ios 12 sdk的基础中现在存在“通用加密货币”。
所以”:
只需在构建设置中删除文件“ common crypto”的路径,该项目就会像超级魅力一样构建! :)
答案 23 :(得分:0)
在我的情况下,构建阶段
迦太基框架部分的输入文件中有一个重复的框架条目>