CocoaPods安装和使用事项
一、什么是CocoaPods
CocoaPods是一个第三方库管理工具,通过它我们可以为项目添加被称为Pods的依赖库(前提是这些类库必须是CocoaPods本身多支持的),并且可以很方便的管理版本在使用
CocoaPods之前,开发项目需要用到第三方开源库的时候,我们需要
1.把开源库的源代码复制到项目中或者是将SDK直接导入到工程中
2.添加一些依赖框架和动态库
3.设置-ObjC,-fno-objc-arc等参数
4.管理他们的更新
在使用CocoaPods后,我们只需要把用到的开源库放到一个名为Podfile的文件中,然后执行终端命令就会自动将这些第三方开源库的源码下载下来,并且为我们的工程设置好响应的系统依赖和编译参数。
二、CocoaPods的原理
CocoaPods的原理是将所有的依赖库都放到另一个名为Pods的项目中,然后让主项目依赖Pods项目,这样,源码管理工作都从主项目移到了Pods项目中。Pods项目最终会编译成一个名为libPods.a的文件,主项目只需要依赖这个.a文件即可
三、CocoaPods的安装(重点)
我们通过Mac自带的ruby环境进行安装CocoaPods
步骤如下:
1.查看gem是否为最新版本
输入命令:sudo gem update --system
执行命令后如果显示:Latest version currently installed. Aborting,说明当前已经是最新版本,无需再升级。如果显示RubyGems system software updated,说明升级成功
2.输入命令:sudo gem install cocoapods
执行完这句命令后如果报错:
问题一:
解决办法:输入命令:sudo gem install -n /usr/local/bin cocoapods
问题二:
这是因为ruby的软件源rubygems.org因为使用亚马逊的云服务,被我天朝屏蔽了,需要更新一下ruby的源,步骤如下:
1)gem sources -l 查看当前ruby的源
2)gem sources --remove https://rubygems.org/ 移除rubyhttps://rubygems.org/
3)gem sources -a https://ruby.taobao.org/ (替换ruby为https://gems.ruby-china.org/ 如果淘宝的失效使用此链接)
4)gem sources -l 再次查看ruby源是否替换成功
3.重新执行安装下载命令:sudo gem install cocoapods
4.进行安装,执行命令:pod setup
(当安装多个xcode 出错时候运行下列:sudo xcode-select -switch /Applications/Xcode最高版本的xcode版本号.app/Contents/Developer
例如:装了Xcode7,Xcode8,Xcode9.0—>sudo xcode-select -switch /Applications/Xcode9.0.app/Contents/Developer)
四、CocoaPods的使用
1、新建一个工程
2、打开终端,定位到工程根目录下
3.执行命令:touch Podfile(创建一个Podfile的文件,不能换成其他的名字,也可以在工程根目录下直接创建)
{3.等效于: pod init}
4.执行命令:vi Podfile (打开Podfile文件)
Podfile文件的格式为:platform :ios, '7.0'
5.搜索需要集成的库,执行命令:pod search 需要搜索的库
6.在文件中添加要使用的第三方库,再次打开Podfile文件
执行命令:pod ‘AFNetworking’,‘~>2.5.3’
(4,5,6等效于platform :ios, '7.0'
target 'MyApp' do
pod 'AFNetworking', '~> 2.6'
pod 'ORStackView', '~> 3.0'
pod 'SwiftyJSON', '~> 2.3'
end
)
(然后保存退出。vim环境下,保存退出命令是:
第一步----> 按'esc键
第二部----> :wq或者shift+z+z
7.使用pod install安装第三方库
执行完命令后出现:Updating local specs repositories说明安装成功
8.如果要卸载CocoaPods,则执行命令:sudo gem uninstall cocoapods
五、以后使用的时候切记如下两点:
1.从此以后需要使用Cocoapods生成的 .xcworkspace文件来打开工程,而不是使用以前的.xcodeproj文件
2.每次更改了Podfile文件,都需要重新执行一次pod update命令
3.当执行pod install之后,除了Podfile,还会生成一个名为Podfile.lock的文件,它会锁定当前各依赖库的版本,之后即使多次执行pod install也不会更改版本,只有执行pod update才会改变Podfile.lock.在多人协作的时候,这样可以防止第三方库升级时候造成大家各自的第三方库版本不一致。所以在提交版本的时候不能把它落下,也不要添加到.gitignore中.
链接:https://pan.baidu.com/s/1x0pNWWK8TLHXX3gZCJRrUQ