[英]"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.