这个问题在这里已有答案:
下午好,
在更新到最新版本的Xcode(版本10.0)之后,该项目无法构建,因为它发现了一些关于“Command CompileSwift失败并返回非零退出代码”错误的错误。
我该如何解决这个错误?它们出现在我在项目中使用的大多数Pod(我使用CocoaPods)中。
我已经尝试将pod版本和pod更新到可用的最新版本,但问题仍然存在。
我在网上搜索了很多,关于这个问题的信息非常少。
问候。
目前我的构建正在运行。在这里,你是我尝试的步骤,直到它最终起作用:
如果您没有Pod,也许您可以尝试使用您在项目中可能遇到的旧Pod进行相同的步骤。
添加信息:另外如果Pod中有一些代码错误,首先需要解决该代码问题,然后尝试再次编译项目。
我要复制我的project.pbxproj中所做的更改。我知道它不是很有用,但它是git差异提交中唯一改变的东西:
Removed: BDC9821B1E9BD1B600ADE0EF /* (null) in Sources */ = {isa = PBXBuildFile; };
Added: BDC9821B1E9BD1B600ADE0EF /* BuildFile in Sources */ = {isa = PBXBuildFile; };
我希望这可以帮助,
问候。
让我分享一下这个问题修复的经验。
打开目标 - >构建阶段 - >复制捆绑资源并删除info.plist。
注意:如果您使用的是任何扩展程序,请从目标中删除该扩展程序的info.plist。
希望能帮助到你。
我做了以下工作,它像魅力一样:
Locations
选项卡Derived Data
的URL路径的小灰色箭头DerivedData
Archives
iOS DeviceSupport
UserData
DocumentationCache
iOS Device Logs
DerivedData
文件夹(它只包含以前版本的缓存)运行pod install --repo-update
并关闭并重新打开x-code修复了我的所有有此错误的pod的问题。
我的名字间距问题。我有两个同名的文件。刚重命名它们就解决了。
在寻找其他地方之前,总是先检查一下'愚蠢的我'框。 :)
类重新声明将是问题。检查重复的类和构建。
在我的情况下,问题是由于watchkit扩展设置为swift 3而主要项目的目标设置为swift 4.2
我搜索了整个网络,但我找不到任何解决这个问题的方法。我设法删除部分中的“Common Crypto”路径:Build设置中的IMPORT路径。问题似乎是“共同加密”现在存在于ios 12 sdk的基础中。
所以”:
只需在构建设置中删除文件“common crypto”的路径,项目就会像魅力一样构建! :)
只是添加到这个问题。我的问题与CommonCrypto没有任何关系。它创建了一个新的Single App应用程序并经过测试运行。编译器抱怨使用Swift 4.2
在构建设置中将Swift语言更改为版本4.0修复了该问题。不确定这是不是一个bug。
我从Xcode 10开始就随机地得到了这个。我认为当我在构建开始时更改代码中的内容时会发生这种情况。下一次构建每次都有效。
对我来说,只需使用ShiftCommandK和OptionShiftCommandK清理项目即可。
我有同样的问题,我的解决方案是在Build Settings中改变一点
SWIFT_COMPILATION_MODE = singlefile;
SWIFT_OPTIMIZATION_LEVEL = "-O";
ERROR =命令CompileSwiftSources失败并返回非零退出代码
在我的情况下当我发现这个错误时,我对编译感到局促。但是,当我看到一些相关的问题答案。我在我的项目中找到了一个重复文件。同一个viewController作为类文件存在的地方。所以是的,当我意识到它时,我把它改名为新的。是的,事情发生了变化!
对我来说,错误消息说我有太多的模拟器文件打开来构建Swift。当我退出模拟器并再次构建时,一切正常。
这似乎是一个非常模糊的错误,所以当我遇到这个问题时,我会分享我所做的修复它:
使用Xcode 10.1和Swift 4.2我在这里尝试了很多所有的建议,但没有一个对我有用,然后我意识到我使用的依赖与Swift 4.2不兼容,这导致我在其他pod上得到这个错误。所以要修复它我只需要强制该pod使用Swift 4.0,将它放在我的Podfile
的末尾:
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
end
在我的例子中,Build Phases中的迦太基输入文件框架部分中有一个重复的框架条目
清理应用程序并尝试使用ShiftOptionCommandK然后使用CommandB再次构建它。
我的问题是由于不存在原生的Swift CommonCrypto,使用了桥接头和some magic将其包含在构建中的目标。由于CommonCrypto现在是原生的,我通过删除目标和#import
解决了这个问题,而是在我使用它的地方添加了import CommonCrypto
。
这是Swift 4.2和Xcode 10的一个已知问题。我在这里发现了一篇针对我的文章:https://github.com/Yummypets/YPImagePicker/issues/236
简而言之,转到项目构建设置,并添加名为SWIFT_ENABLE_BATCH_MODE的用户定义设置,并将其值设置为NO。
以前,我尝试了其他地方建议的以下每种方法(重建,退出Xcode,清理和重建,清除派生数据文件)。他们都没有工作。
一旦我根据文章添加了用户定义构建设置,Swift就告诉我真正的错误。在我的情况下,它是一个缺失},但它可能是任何数量的问题。
我试过了
pod install --repo-update
而且所有这些仍然无法解决问题。
以下是解决方案: - 转到构建设置 - 搜索SWIFT_COMPILATION_MODE - 如果这是发布配置的“整个模块”,则将其更改为“增量”。 - 立即归档。
将设置更改为“增量”时,过程成功。