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