1.如果你電腦開(kāi)啟了自動(dòng)更新還是建議你先關(guān)閉掉吧。避免第一時(shí)間更新xcode出現(xiàn)不知名報(bào)錯(cuò)找不到解決方案
你可能遇到的報(bào)錯(cuò)問(wèn)題:
1)Build service could not create build operation: unknown error while handling message: MsgHandlingError(message: "unable to initiate PIF transfer session (operation in progress?)")
2)library not found for -lXXX
3)library not found for -IPos-xxxx
4)打包報(bào)錯(cuò)
5)pods下product文件的二進(jìn)制庫(kù)無(wú)法編譯蓉坎,libffi尋址不到(靜態(tài)庫(kù)兼容問(wèn)題14.3)
6)clang: error: linker command failed with exit code 1 (use -v to see invocation)
第一個(gè)報(bào)錯(cuò)信息很少見(jiàn)澳眷,多發(fā)生在xcode配置出錯(cuò)或xcode更新導(dǎo)致的環(huán)境變化。所謂環(huán)境變化就是xcode更新如果是覆蓋式更新則好一些蛉艾,如果是完全卸載式更新钳踊,也就是xcode所有的編譯緩存都刪除了衷敌,全部再次安裝編譯生成一遍新的編譯緩存
上述錯(cuò)誤就在于此
2013/10/25新增xcode15此類錯(cuò)誤
1.Clean Xcode and Close Xcode
2.delete ~/Library/Developer/Xcode/DerivedData
Xcode 14.3版本移除了ARC相關(guān)的庫(kù),從而導(dǎo)致一些默認(rèn)部署目標(biāo)是iOS 8版本的第三方庫(kù)出現(xiàn)報(bào)錯(cuò)拓瞪。只要最低部署目標(biāo)不低于iOS 9版本缴罗,運(yùn)行項(xiàng)目時(shí)就不會(huì)去鏈接ARC相關(guān)的庫(kù),也就不會(huì)出現(xiàn)找不到庫(kù)的報(bào)錯(cuò)祭埂。
導(dǎo)致在鏈接庫(kù)的時(shí)候因?yàn)檎也坏?a target="_blank">靜態(tài)庫(kù)面氓。這時(shí)候你就要去排查你的報(bào)錯(cuò)的文件中。其實(shí)和版本也不是有太大關(guān)系蛆橡,而是只要你引用了低于ios11的庫(kù)舌界,這個(gè)庫(kù)含有靜態(tài)庫(kù).a文件則無(wú)法編譯
解決方法:刪除這個(gè)庫(kù)的.a即可
比如我們引入了通知的extension,該庫(kù)最低支持ios10.且包含.a靜態(tài)庫(kù)
如果你遇到上述錯(cuò)誤泰演,沒(méi)必要?jiǎng)h除pod的lock文件或pods文件不斷嘗試pod install或者關(guān)機(jī)重啟呻拌,沒(méi)有用!D阑馈C晡铡!复亏,因?yàn)閤code14.3不再包含arc文件
在Podfile文件中加上:
post_install do |installer|
? installer.pods_project.targets.each do |target|
? ? target.build_configurations.each do |config|
? ? ? config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0'
? ? end
? end
end
如果必須支持老版本纵诞,你可以將未升級(jí)前的arc文件復(fù)制到Xcode 14.3
二 ?14.3可能遇到的打包錯(cuò)誤