前言
在OS X进化到El Capitan后,有些系统权限的变化使得开发又要踩上好些坑。
首当其冲应该就是CocoaPods
没法正常安装和更新了,加上Xcode和一些第三方库的更新,每次都要耗费不少时间折腾环境的事情,一次两次算了,但是这事儿搞得像例假,实在是不胜其烦。
我遇到的问题
我的项目中使用到了一个封装了Sqlite
的第三方库SQLite.swift
,这货用起来倒是挺方便的,但是相比与其他的第三方库,环境上每次遇到工具链的更新,总会出点问题。第一次是对Xcode 6
时代的工程文件不兼容,整整折磨了快大半个月,后来重建了工程文件才解决;这次,由于只支持新版的CocoaPods
,也是耗费了几个小时清理环境排查问题才解决...真的是让人挺崩溃的。
CocoaPods
最近终于进入了1.0
时代,作为一个事实上的第三方库包管理器,也算是达到一大里程碑了。每次更新依赖的第三方包的时候,总是提示"大爷,来试试新版啊~"
,不过每次看到那个beta
字眼还是有些不放心,于是每次也就无视了。不过刚才也说到,项目里使用了SQLite.swift
,这货又非得赶时髦,还只支持新版的CocoaPods
,否则,编译又要坑爹跪了。好了,说了那么多废话,重点就是安装新版CocoaPods
。
安装新版CocoaPods
前面说过,新版操作系统下,CocoaPods
的安装和更新会遇到权限问题,即使使用新的安装命令,也可能还是会有问题,在我这里就是提示安装成功了新版CocoaPods
,但是实际还是旧版,猜测是可以用一些方法解决的,但是实在不想浪费太多时间折腾在环境问题上了,我用了最简单粗暴的解决方法:
1.卸载原有的CocoaPods
运行sudo gem uninstall cocoapods-stats
卸载所有版本
运行sudo gem uninstall cocoapods
卸载所有版本
2.安装最新版CocoaPods
运行sudo gem install -n /usr/local/bin cocoapods --pre
这里注意一定要加上-n
后的命令,否则在El Capitan
下就会遇到权限问题
3.验证下是否安装成功
运行pod --version
可以查看安装的版本,目前是1.0.0.beta.6
最后关于Podfile
我没有深入去读CocoaPods
新版的升级文档,但解决了新版本的安装问题后,遇到了两个关于Podfile
的书写问题
1.必须描述第三方库引入的项目目标名,比如:
target 'ProjectTargetName' do
end
否则会报错。
2.貌似不支持以下写法了:
pod 'ReachabilitySwift',
:git => 'https://github.com/ashleymills/Reachability.swift'
应该改为:
pod 'ReachabilitySwift', '~> 2.3.3' #不描述指定版本也行
PS.如果上述结束后还有错误,可以尝试到
/Users/UserName/Library/Developer/Xcode/DerivedData
文件夹下清空一下试试。