cocoapods安装和使用入门篇

cocoapods是Xcode管理第三方类库的工具(当然也可以管理自己封装的私有库),能够处理类库之间的依赖关系,方便多个类库的升级和管理。它是用ruby语言编写的。

一、更换ruby源

打开命令行工具terminal,依次输入下面的命令

ruby官方源https://rubygems.org/很可能被墙了
淘宝的ruby源https://ruby.taobao.org/已停更,建议使用最新的ruby-china源http://gems.ruby-china.org/

1
2
gem sources --remove https://rubygems.org/
gem sources --add http://gems.ruby-china.org/

接着输入gem sources -l即可看到如下结果

1
2
3
*** CURRENT SOURCES ***

http://gems.ruby-china.org/

如果想用ruby-china的https源https://gems.ruby-china.org/,需要给gem配置证书,具体参考github-ruby-ssl

顺便更新下gem,输入命令sudo gem update --system即可。(需升级

最近升级cocoapods到1.2.0出了点问题,就是由于gem版本太低导致的,所以尽量保持gem也是最新版本。

二、安装cocoapods

  • 安装最新版本sudo gem install -n /usr/local/bin cocoapods
  • 安装指定版本sudo gem install -n /usr/local/bin cocoapods --version 1.0.0

三、下载pod仓库索引

输入pod setup开始下载索引表,该过程耗时较长,请耐心等待。
如果下载一个小时还遥遥无期,那你可以从别人做的镜像下载索引表,步骤如下

1
2
3
pod repo remove master
pod repo add master https://git.coding.net/jasper/CocoaPods.git
pod repo update

上面从镜像下载索引表的命令同样适用于私有库(如:公司内部搭建的各种私有库git索引表),只需输入
pod repo add [repoName] url 时repoName不一样就行。
cocoapods支持多个源(官方源和私有源等)

四、更新pod索引表

每天都有人上传和更新pod仓库,所以最好定时更新pod索引表

1
pod repo update

五、升级cocoapods版本

其实升级和安装的命令一样

  • 升级到最新版本sudo gem install -n /usr/local/bin cocoapods
  • 升级到指定版本sudo gem install -n /usr/local/bin cocoapods --version 1.0.0

六、使用cocoapods

工程根目录下新建文件Podfile(该文件无后缀名),编辑Podfile里的内容

  • pod版本低于1.0.0
1
2
platform:ios, '7.0'
pod 'AFNetworking', '~> 2.3.1'
  • pod版本大于等于1.0.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#官方源
source 'https://github.com/CocoaPods/Specs.git'
#如果有内部私有源,再添加一条source即可

platform :ios, '7.0'
#use_frameworks!
inhibit_all_warnings!

target 'targetName' do
pod 'AFNetworking', '~> 2.3.1'
end

#修改工程配置等,根据情况配置,可选
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '7.0'
if target.name == 'OpenCore'
config.build_settings['ENABLE_BITCODE'] = 'NO'
end
end
end
end

七、安装第三方库

使用pod install安装第三方库。
如果修改过Podfile文件(增加/删除podame),需要使用pod install,而不是pod update
update命令若不指定podName则更新所有有新版本的库pod update [podName]

使用pod install后,需要点击*.xcworkspace打开工程,而不是以前的*.project

八、卸载cocoapods

输入命令sudo gem uninstall cocoapods即可卸载cocoapods

每次执行pod install后,Podfile.lock都会更新。如果团队使用git/svn之类的版本管理工具,必须将Podfile.lock纳入版本管理。否则,团队中不同的人看到的cocoapods管理的第三方库版本可能不一致,甚至报错。

九、gem安装其它库的写权限问题

gem install 时加入参数 -n /usr/local/bin 指定安装目录即可。(eg:sudo gem install -n /usr/local/bin cocoapods)

存粹没事瞎折腾 ヾ(≧▽≦*)o