"每个人都在扮演他人所期待的自己,尽管那根本不是真正的自己。我和她都不例外。我们当中的真实总是无意地被深深隐藏。"———by大老师
1.CocoaPods介绍。
Xcode项目总会多少用到第三方库,库多了管理起来很麻烦,cocoaPods作为一个工具来管理第三方库。
https://cocoapods.org 官方介绍和指导。
“The dependencies for your projects are specified in a single text file called a Podfile.” ——Podfile这个文件标明管理第三方库。Podfile内容格式这样一般:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '7.0'
target 'ProjectName' do
pod 'AFNetworking', '~> 2.5'
end
'ProjectName'为工程名,下面为第三方库名称和版本。
2.安装CocoaPods
主要记录这个。。
首先是要装ruby。官方推荐用gem install命令来装pods,gem install命令又依赖ruby。
$ sudo gem install cocoapods
一般macOS (OS X)自带有ruby。但是版本太旧问题,在安装pods的时候可能会失败,需要先更新ruby。。
推荐使用Ruby version manager(rvm)来管理升级ruby,如何安装和使用rvm可以参考:http://ruby-china.org/wiki/rvm-guide。
当然hin生气也能用系统命令:
sudo gem update --system
但是由于各种众所周知的原因,我们最好是把镜像指向taobao。执行下面命令检查source:
gem source -l
*** CURRENT SOURCES *** https://ruby.taobao.org/
不是上面的source执行下面命令改成taobao.org:
gem sources --remove https://rubygems.org/
gem sources -a https://ruby.taobao.org/
更新到指定版本的ruby后,执行上面命令就可以安装pods。
安装完成后还要执行命令:
pod setup
第一次的时候会hin慢。。
3.使用Pods
新建Xcode工程,cd到工程目录下,创建一个Podfile文件:
$ touch Podfile
推荐使用命令打开Xcode来打开这个文件编辑。文本编辑器据说可能有各种问题。
$ open -a Xcode Podfile
敲下面的内容进去:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '7.0'
target 'ProjectName' do
pod 'ThirdPartName', '~> 2.5'
end
当然'ProjectName'和'ThirdPartName'要换成对应工程名称和第三方库的名称。
然后保存,执行install命令:
$ pod install
得到下面的结果说明执行成功了(以给TESTCocoaPods工程添加AFNetworking为例子)
Analyzing dependencies
Downloading dependencies
Installing AFNetworking (2.6.3)
Generating Pods project
Integrating client project
[!] Please close any current Xcode sessions and use `TESTCocoaPods.xcworkspace` for this project from now on.
Sending stats
Pod installation complete! There is 1 dependency from the Podfile and 1 total
pod installed.
在工程下会发现一个TESTCocoaPods.xcworkspace的新的工程文件,用Xcode打开文件会发现除了工程目录,还多了个Pods目录,下面就有Pods帮我们添加的对应的第三方库。以后开发就是在.xcworkspace文件下开发。
4.Pods管理的第三方库升级
可以使用Pod update命令给第三方库升级版本(如果有更新版本的话)
pod update
但是不带参数的Pod update默认会更新所有第三方库,如果不想这么做,可以指定特定的库:
pod update 'ThirdPartName'
以上。记录得不是完全,有问题欢迎指正。
更详细的介绍请参考唐巧大神的这篇blog:http://blog.devtang.com/2014/05/25/use-cocoapod-to-manage-ios-lib-dependency/。