1.出現問題
更新到xcode10.1,編譯後報如下錯誤:
Multiple commands produce '/Users/xxx/Library/Developer/Xcode/DerivedData/xxx-fqevocrykxtaoohbmdbqigdxpkms/Build/Products/Debug-iphoneos/xxx.app':
1) Target 'xxx' has create directory command with output '/Users/xxx/Library/Developer/Xcode/DerivedData/xxx-fqevocrykxtaoohbmdbqigdxpkms/Build/Products/Debug-iphoneos/xxx.app'
2) That command depends on command in Target 'xxx': script phase “[CP] Copy Pods Resources”
這是因為xcode10.1是用 New Build System 編譯,與舊版xcode項目編譯的規則不一定相容,是以會出現上述錯誤,本質上是cocoapods版本相容問題。
2.新舊對比
此次要做的是,更新,更新,把舊的更新,舊新前後對比如下(每個機器環境不同可能差别,反正兩個字:更新):
舊:
xcode版本:9.2 ,使用Legacy Build System編譯;
cocoapods版本: 1.3.1
gem版本:2.5.2.3
新:
xcode版本:10.1 ,使用New Build System編譯;
cocoapods版本: 1.6.1
gem版本:2.7.7
3.解決方案(正常情況下)
先關閉xcode
1)檢視目前cocoapods版本
pod --version
1.3.1
2)更新cocoapods版本到最新
pod setup
sudo gem install cocoapods //或使用sudo gem install -n /usr/local/bin cocoapods,我就是使用這個才可以
3)進行app項目所在目錄,對原來的pod資料進行解體和清理及重新pod
// 1.安裝cocoapods插件
sudo gem install cocoapods-deintegrate // 解體
sudo gem install cocoapods-clean // 清理
// 2.清理
pod deintegrate
pod clean
// 3.重新install
pod install
每一個有cocoapods管理的,都要使用3)步驟做處理,才能解決問題
4.更新出現的問題和其他相關
源的問題:
ERROR: Could not find a valid gem 'cocapods' (>= 0), here is why:
Unable to download data from https://rubygems-china.oss.aliyuncs.com - bad response Forbidden 403 (https://rubygems-china.oss.aliyuncs.com/specs.4.8.gz)
sudo gem install cocapods 安裝時,報的錯,要換源,可通路:https://gems.ruby-china.com/
裡面有詳細的操作,這裡也給出相關指令:
gem sources -l //檢視源的版本
gem sources --remove https://rubygems-china.oss.aliyuncs.com //移除源
sudo gem sources -a https://gems.ruby-china.com/ //添加源
gem要保持最新版本
gem -v //檢視版本
gem update --system //更新,也可以用sudo gem update --system ,我就是用這個指令
5.其他方案
還有個臨時解決方案,就是編譯前,修改New Build System 為 Legacy Build System,也能解決問題;
操作如下:
Xcode ---> File ---> Workspace Settings ---> Build System:修改New Build System 為 Legacy Build System
這是臨時方案,測試過可行,但更新cocoapods才是徹底的解決方案。
參考連結:
https://www.jianshu.com/p/beb29d39c790
https://gems.ruby-china.com