在OS X El Capitan下使用CocoaPods的几个小问题

前言

在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
文件夹下清空一下试试。

参考链接

1.一个CocoaPods官方Issue
2.深入理解 CocoaPods

你可能感兴趣的:(在OS X El Capitan下使用CocoaPods的几个小问题)