今天用cocoapods新增了個(gè)第三方庫
跑真機(jī)時(shí)報(bào):Command PhaseScriptExecution failed with a nonzero exit code
但在模擬器上運(yùn)行正常,事實(shí)證明這是個(gè)頭大的問題搞了大半天??
具體啥原因到現(xiàn)在我也說不清楚,具體咋解決的也說不明白了(嘗試過的方法太多了)秧荆,
一赡矢、看到最多的解決方案是 Xcode 菜單欄選擇File → Workspace Setting
醒串,找到Shared Workspace Settings 把New Build System (Default)
切換到Legacy Build System
參考來源>>
那來吧咱也嘗試一下(然而在Xcode14.3版本中沒找到Shared Workspace Settings 設(shè)置)
二帖鸦、清理工作區(qū)緩存系列 參考來源>>
1.首先在
Product -> Scheme
中選擇當(dāng)前項(xiàng)目的主代碼模塊易遣;
2.選擇Product -> Clean Build Folder
清理工作區(qū);
3.之后再重新編譯項(xiàng)目代碼
就可以了(嘗試后并沒有起作用)搓幌。
三杆故、比較暴力、理論感覺比較徹底的方法溉愁,刪除現(xiàn)有的pods庫用cocoapods重新導(dǎo)入參考來源>>
1.打開項(xiàng)目所在文件夾刪除
xxxx.xcworkspace处铛、Podfile.lock、Pods
文件拐揭;
2.使用終端重新執(zhí)行pod install
命令下載第三方庫撤蟆;
3.理論
上此時(shí)重新編譯項(xiàng)目代碼問題就應(yīng)該解決了;
經(jīng)過漫長的等待……嘗試后然而并沒有起作用
四堂污、升級(jí)cocoapods版本打開終端執(zhí)行sudo gem install cocoapods
進(jìn)行升級(jí)參考來源>>
五家肯、修改Pods-項(xiàng)目名稱-frameworks.sh
文件腳本內(nèi)容參考來源>>
具體方法:
1.展開XCode左側(cè)的項(xiàng)目結(jié)構(gòu)目錄,逐級(jí)展開
Pods -> Target Support Files -> Pods-項(xiàng)目名稱
盟猖,打開其中的Pods-項(xiàng)目名稱-frameworks.sh
文件讨衣;
2.找到source="$(readlink "${source}")"
代碼,大概在第44行式镐;
3.將第二步的代碼修改成source="$(readlink -f "${source}")"
再重新運(yùn)行預(yù)期問題就應(yīng)該解決了(經(jīng)過嘗試還是不行)反镇;
六、也有說是鑰匙串訪問權(quán)限問題碟案,那咱就更改
1.打開【鑰匙串訪問】愿险,然后在【登錄】右鍵【鎖定鑰匙串】再【解鎖】;
2.command+shift+k
清理再運(yùn)行;
3.結(jié)果就不多說了,運(yùn)氣好的話估計(jì)就到此結(jié)束了??价说。
七辆亏、修改Pods-項(xiàng)目名稱-frameworks.sh
和Pods-項(xiàng)目名稱-resources.sh
文件的訪問權(quán)限
1.打開Mac終端執(zhí)行"sudo chmod 777 +文件授權(quán)地址"
(例"sudo chmod 777 Pods-Comic-frameworks.sh ")
2.cd到報(bào)錯(cuò)的Pods目錄下后,然后執(zhí)行命令a+x Pods-項(xiàng)目名-resources.sh
即可解決問題
反正這個(gè)方案對(duì)我還是免疫??
八鳖目、到這里就算是柳暗花明又一村了扮叨,修改TARGETS → Buile Settings → Excluded Architectures
為arm64
如下圖所示:
更改過后意料之外的事情發(fā)生了終于正常運(yùn)行起來了,一頓操作下來并不知道具體原因是啥领迈,所幸嘗試這么多方案沒有增加新的報(bào)錯(cuò)
還有一些其他的方法就不詳細(xì)列舉了(都試過了沒卵用)
1.重新下載證書彻磁,更新鑰匙串中的證書;
2.在"Podfile"文件最后一個(gè)"end"上添加如下代碼并終端執(zhí)行"pod install"再運(yùn)行
……
/********************************/
post_install do |installer|
installer.generated_projects.each do |project|
project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '10.0'
end
end
end
end
/********************************/
//這是最后一個(gè)end
end
3.刪除TARGETS → Buile Phases → Run Script
中的相關(guān)腳本狸捅。