CocoaPods 1.8以上版本出现的问题解析

最近升级mac系统和Xcode,不知道什么时候CocoaPods升级到1.8.4的版本了,今天修改一下公有库上传到CocoaPods,上传成功,就是安装出现查不到新版本,执行pod update也没用。

原来CocoaPods 1.8版本后修改了spec repo源路径
从master(https://github.com/CocoaPods/Specs.git)
切换为trunk(https://cdn.cocoapods.org/),
需要在Podfile头部添加source 'https://cdn.cocoapods.org/'。

CocoaPods 1.8以上出现的问题:

  1. 如果之前的项目Podfile没有添加指定源路径的(之前默认路径:source 'https://github.com/CocoaPods/Specs.git'),直接 pod install 会报错,

       [!] CDN: trunk Repo update failed - 83 error(s):
    

如图:

image.png

原因:

CocoaPods 1.8版本修改了spec repo源路径,默认路径为trunk(https://cdn.cocoapods.org/),
1.8版本之前的默认路径为master(https://github.com/CocoaPods/Specs.git)。
 所以,直接pod insta 是找不到路径报错。

解决方案(现在推荐使用第一种,CDN完善后推荐使用第二种):

  1. 需要在Podfile头部添加 ,然后直接再次安装就行了
source 'https://github.com/CocoaPods/Specs.git'
  1. 直接使用trunk(CDN),Podfile之前的source(source 'https://github.com/CocoaPods/Specs.git')不需要,(repo最好别删除,大部分库pod search 搜索不到,大部分的库都还存在github.com)。
    现在不推荐使用这个,现在cdn还不完善,会导致安装不了和查询不到旧版本的库。
    删除master就可以使用一下命令(cdn完善之后推荐)。
pod repo remove master

然后直接安装就行了,最后在Podfile添加source(source 'https://cdn.cocoapods.org/'),因为 CocoaPods 1.8版本修改了spec repo源路径,默认路径为trunk(https://cdn.cocoapods.org/)。

现在推荐第一种方案,因为cdn还不完善,很多库还没更新,直接使用cdn的会找不到相应的库;

cdn完善后推荐第二种方案,CDN(trunk)的比之前的master安装和更新速度快很多,
需要的时直接从第三方库的地址查找,不像之前master把所有的库一起下载,每次更新都要更新半天。

如果使用第一种方案,还会出现一个问题,pod search 有可能搜索不到库,需要把CDN(trunk)删除(装不了最新的转移到cdn的库),然后再搜索

pod repo remove trunk

CDN完善后推荐大家用第二种方案,因为后面用到自己做的公有库和私有库都会需要用到CDN(trunk),这是趋势所致。

你可能感兴趣的:(CocoaPods 1.8以上版本出现的问题解析)