[英]"Command CompileSwift failed with a nonzero exit code" in Xcode 11.0 beta
[英]Xcode 10 build fails with 'Command CompileSwift failed with a nonzero exit code
我最近将 Xcode 更新到版本 10,并在尝试构建我的项目时开始收到一个奇怪的错误。 我目前在 Swift 4.0 上,我确实尝试升级到 swift 版本 4.2。 但是当我这样做时,我在许多框架中都收到了同样的错误。
命令编译 Swift 失败,退出代码为非零
到目前为止,我已经删除了派生文件夹。 更新了所有 pod,还删除了所有 pod,并使用下面的终端命令重新安装了它们。
sudo gem install cocoapods-deintegrate cocoapods-clean
pod deintegrate
pod clean
pod install
这无法解决我的问题。 但是,我发现一些可行的方法是在Build Setting -> valid architectures
中添加arm64
架构并启用自动代码但是,当我检查它已经存在并且代码签名已经启用时。
此外,我确实有一些与框架有关的其他构建错误。
SwiftMessages
“SwiftMessages.Config”类型的值没有成员“presentationContext”
WhatsNewKit
调用中缺少参数“背景颜色”的参数
我向每个框架的开发人员提出了问题,以寻求解决这些问题的帮助。
SwiftMessage 上的问题 GitHub WhatsNewKit 上的问题 GitHub
当我单击presentationContext
时,它会将我带到SwiftMessages
框架中的结构。 通常,当我收到“没有成员”警告时,我无法点击查看它存在的原始位置。
我认为这与 cocoa 吊舱有关,但还没有找到解决方案。 我能做些什么来纠正这个问题? 如果有人可以提供帮助,我们将不胜感激,现在已经坚持了一天。
更新:最新构建的两个框架适用于 swift 4.2。 当我将每个框架的版本更改为在 swift 4.0 中构建的版本时,我得到了要构建的项目。
将 Swift 版本设置为 4.2,然后 pod deintegrate,pod install,为我解决这个问题。 谢谢@alejandro-iván
我是这样解决的:
对.pod文件中的每个取消注释库重复步骤2 - 3 - 4 -5
我希望它能对你有所帮助。
对于 pod SwiftMessages,如果您的应用不是 swift 4.2,您需要使用 5.01 版的 pod 'SwiftMessages', '~> 5.0.1'
它会像魅力一样发挥作用
我有几个框架(本土)加上我的应用程序。 不知何故,他们最终与 Swift 版本不同步。 确保所有框架都是相同的版本。 就我而言,它们都需要设置为 Swift 4.2。 如果您还没有迁移到 4.2,请记住 Xcode 对此有帮助:Edit -> Convert -> To Current Swift Syntax。
所有的答案对我都有帮助。 就我而言,我只手动安装框架,但也会发生这种问题。 我尝试了所有答案,但在构建过程中仍然遇到此问题。 奇怪的是,在编码时,我可以 cmd-click 并解决所有“丢失”的组件。 我还清理和删除了派生数据,重新启动了 Xcode 等。
我最终通过引入这些额外的步骤让它工作:
在每个框架项目/目标(包括我自己的)上:
早上好! 干干净净。 使用" commond + shift + k关闭Xcode。导航到Podfile 所在的项目目录。执行pod update/pod install 打开x.xcworkspace
我在升级到 Xcode 10.2 和 Swift 5 时偶然发现了这个问题。 在尝试了所有内容后,我在发行说明中发现了这个问题:
启用 Thread Sanitizer 时,Swift 编译器可能会在构建期间崩溃。 (48719789)
果然,关闭 Thread Sanitizer 后,我的项目可以再次编译而不会出错。
因此,如果您收到此错误并启用了 Thread Sanitizer - 将其关闭!
同样的问题在 Xcode 10.2 中发生在我身上,这是一个 Xcode 错误..! 所以,我在旧的 Xcode 版本(9.4)中打开,它运行良好。 然后我在发布后更新到 Xcode 10.2.1 -> Clean and build your project,现在我的问题解决了。
我遇到了同样的问题,我的 Xcode 版本是 10.2.1 (10E1001),Cocoapods 版本是 1.7.0.beta.2。
回到Cocoapods 1.6.1,问题解决了。 具体步骤是:
pod deintegrate
取消集成。卸载所有 Cocoapods。
for i in $( gem list --local --no-version | grep cocoapods ); do gem uninstall $i; done
安装稳定版的 Cocoapods。 现在是 1.6.1。
gem install cocoapods
清理项目并清空派生数据
pod install
就我而言,这是一个代码错误:
self.myDto.map{ (dto)} in
var stringValue = (dto.value(forKey: "name") as! String)
stringValue.append("c")
return stringValue
}
刚刚删除那个stringValue
变量解决了这个问题。
我只是有相同的错误消息,这里和这个问题的副本中的任何答案都不适用于我的项目或有帮助。 我继续阅读错误消息并意识到我愚蠢地将两个单独的 swift 文件命名为不同文件夹中的同名文件,打算更改一个,但在更改一个之前,我尝试运行我的项目并生气了最后一个小时。
最重要的是,不要意外地将您的文件命名为相同的名称并彻底阅读您的错误代码!
仅用于使用该命令重新安装pod pod install
请参阅下面的附件
target 'XYZ' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for xyz
pod 'SwiftyJSON'
pod 'Localize-Swift'
pod 'Alamofire'
pod 'Kingfisher'
pod 'Tabman'
pod 'RSSelectionMenu'
pod 'Pushbots'
pod 'ACProgressHUD-Swift', '~> 1.4'
pod 'SKPhotoBrowser'
pod 'ZoomableImageSlider'
pod 'RSSelectionMenu'
pod 'DropDown'
pod 'ImagePicker'
end
我将平台 :ios, '10.0' 更新为 11.0,错误消失了。 更改您的平台或操作系统版本并检查。 希望能有所帮助。
指定您的 pod 版本,例如pod 'RealmSwift', '~> 5.3.5'
或取消注释# platform :ios, '9.0'
在您的 Podfile 中
我在 Xcode 14 上遇到了这个问题。在 podfile 底部添加这个。
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
# some older pods don't support some architectures, anything over iOS 11 resolves that
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0'
end
end
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.