1、升级Ruby环境
终端输入:gem update –system
此时会出现
ERROR: While executing gem … (Gem::FilePermissionError)
You don‘t have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
sudo gem update —system
这个是因为你没有权限去更新Ruby
这个时候你可以在终端使用:$sudo gem update —system来进行升级
2、安装CocoaPods时我们要访问cocoapods.org,该网站可能被我们大天朝墙了,这样下载安装可能会是龟速,幸好我们可以用淘宝的Ruby镜像来访问该网站,方法如下:
1、gem sources —remove https://rubygems.org/
2、gem sources -a https://ruby.taobao.org/
可以使用下面的命令查看是否更换镜像成功:
$ gem sources -l
3、安装Cocoapods,在终端输入命令
$sudo gem install cocoapods
如果出现:ERROR: While executing gem … (Errno::EPERM)
Operation not permitted - /usr/bin/fuzzy_match
执行命令:sudo gem install -n /usr/local/bin cocoapods
pod setup
4、使用search命令搜索类库名:
如:$pod search ReactiveCocoa
5、需要在工程中创建一个Podfile文件
使用命令:cd desktop/CocoaPodsSample
1)cd desktop/CocoaPodsSample(进入工程目录,cd后面的是工程的路径)
2)touch Podfile(创建Podfile文件)
3)vim Podfile(使用vim编辑Podfile文件)
platform:ios, ‘7.0‘ //所有库支持的IOS最低版本(可不写)
pod 'ReactiveCocoa', '~> 2.5' //版本号
在编辑完成后按“esc”,在按“:”,这个时候输入wq,点击回车,保存并退出。
如果项目有多个Target:
1)多个target中使用相同的Pods依赖库
link_with ‘Target1’, ‘Target2’
platform :ios, ‘7.0’
pod 'ReactiveCocoa', '~> 2.5'
2)不同的target使用完全不同的Pods依赖库
target :’Target1’ do
platform :ios
pod ‘Reachability’, ‘~> 3.0.0’
pod ‘SBJson’, ‘~> 4.0.0’
platform :ios, ‘7.0’
pod ‘AFNetworking’, ‘~> 2.0′
end
target :’Target2’ do
pod ‘OpenUDID’, ‘~> 1.0.0’
end
PS:其中,do/end作为开始和结束标识符。
6、$pod install (安装相应的第三方类库) 需要等待较长时间,具体进度与网速相关
安装成功后打开文件夹——如图
7、删除cocopods
删除工程文件夹下的Podfile、Podfile.lock及Pods文件夹
删除xcworkspace文件
使用xcodeproj文件打开工程,删除Frameworks组下的Pods.xcconfig及libPods.a引用
在工程设置中的Build Phases下删除Check Pods Manifest.lock及Copy Pods Resources
PS: pod ‘AFNetWorking’, ‘~> 2.0′ 含义
pod ‘AFNetworking’ //不显式指定依赖库版本,表示每次都获取最新版本
pod ‘AFNetworking’, ‘2.0’ //只使用2.0版本
pod ‘AFNetworking’, ‘> 2.0’ //使用高于2.0的版本
pod ‘AFNetworking’, ‘>= 2.0’ //使用大于或等于2.0的版本
pod ‘AFNetworking’, ‘< 2.0’ //使用小于2.0的版本
pod ‘AFNetworking’, ‘<= 2.0’ //使用小于或等于2.0的版本
pod ‘AFNetworking’, ‘~> 0.1.2’ //使用大于等于0.1.2但小于0.2的版本
pod ‘AFNetworking’, ‘~>0.1’ //使用大于等于0.1但小于1.0的版本
pod ‘AFNetworking’, ‘~>0’ //高于0的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本