最近在做项目的时候,执行pod install的时候,报错:
[!] Unable to find a specification for DateTools (~> 1.5.0)
。
很明显是一些库找不到了,估计是repo仓库需要更新了。于是执行:
pod repo update
,
但却提示:
[!] The master repo requires CocoaPods 1.0.0 - (currently using 0.39.0)
。
提示说要更新pod版本,目前使用的是0.39.0。
执行
sudo gem install cocoapods
如果安装出现问题,可以试着更改安装目录:
sudo gem install -n /usr/local/bin cocoapods
,
升级完之后,如果立即执行pod install,会报错。因为升级后支持的podfile格式发生了变化。
旧版格式:
platform :ios, '8.0'
xcodeproj 'xxx.xcodeproj'
pod 'xxxx', '~> 2.1.0'
新版格式:
platform :ios, '8.0'
xcodeproj 'xxx.xcodeproj'
target 'xxx' do
pod 'xxxx', '~> 2.1.0'
end
另外新版的podfile也不支持 App Extension 与宿主App的 link_with 'xxx', 'xxxxExtension'
需要重新指定:
target 'xxxxExtension' do
pod 'xxxx', '~> 2.1.0'
end
如果不想升级,去解决这个问题,需要修改pod指定的source。
修改podfile ,在podfile顶部添加
source "https://github.com/CocoaPods/Old-Specs"
然后,
cd ~/.cocoapods/repos/master/
git fetch origin master
git checkout v0.32.1
这样就可以使用继续使用旧版本的pod了。
需要注意的是:执行 pod install
的时候,要加上 --no-repo-update
。