最近要开发一款新的项目,所以升级了最新的Mac OS与Xcode 9作为项目环境进行开发,但是在cocoaPods install 时发生了问题,提示RuntimeError - [Xcodeproj] Unknown object version.
检索了一下问题,可能是因为Pods版本较低,不匹配Xcode 9导致install失败。于是我又尝试升级CocoaPods: sudo gem install cocoapods。 输入密码以后出现:ERROR:While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/xcodeproj好吧,gem也有毛病,那就先更新gem咯:sudo gem update --system
输入密码以后出现:ERROR:While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/xcodeproj gem installed 成功。重新安装cocoaPods最新版本:sudo gem install -n /usr/local/bin cocoapods --pre
OK,gem与cocoaPods都安装成功,看看版本:pod --version添加淘宝源:gem sources -a https://ruby.taobao.org/ (http://gems.ruby-china.org 注意:淘宝源不再维护,替换成官方中文源,注意是http,不是https)
https://ruby.taobao.org/ 已有缓存,那么我们再用命令进行安装:pod install
安装成功,工程出现xcworkspace。总结:
CocoaPods是用ruby写的,并划分成了若干个Gem包。CocoaPods在解析执行过程中最重要的几个包的路径分别是:CocoaPods/CocoaPods、CocoaPods/Core和CocoaPods/Xcodeproj。
CocoaPods / CocoaPod
这是面向用户的组件,每当你执行一个pod命令时,这个组件将被激活。它包括了所有实用CocoaPods的功能,并且还能调用其他gem包来执行任务。
CocoaPods / Core
Core gem提供了与CocoaPods相关的文件(主要是Podfile和podspecs)的处理。
要想成功升级cocoapods需要一个正确的操作流程和命令语句。
1、更新gem:sudo gem update --system
2、删除 gem源:gem sources --remove http://gems.ruby-china.org
3、添加 gem源:gem sources -a http://gems.ruby-china.org(淘宝源不再维护,替换成官方中文源,注意是http,不是https)
4、查看gem源是否是最新的:gem sources -l
5、升级cocoapods:sudo gem install -n /usr/local/bin cocoapods --pre
6、查看当前cocoapods版本:pod --version
7、在工程下安装cocopods:pod install / pod install --verbose --no-repo-update