CocoaPods安装使用——学习笔记
引言:CocoaPods 就是为iOS程序提供的依赖管理工具,CocoaPods有什么作用呢,想象一下,我们创建一个工程,要使用很多第三方文件,我们要把很多第三方从本地导入到我们的工程目录,然后倒入各种框架,设置路径等。和其他人一同完成同一个项目的时候,和代码的时候因为各种路径,第三方报错,那酸爽。而CocoaPods就是帮我们完成这些繁琐配置的管理工具,我们只需要创建工程的时候生成一下Podfile 然后填入使用的第三方,CocoaPods就帮我们完成了这一切。CocoaPods
搭建Ruby下载环境:CocoaPods是根据Ruby语言编写的 所以要从Ruby的默认源去下载源文件
- 查询Ruby源:
gem source -l
注:https://rubygems.org/ 是墙外的源 需要更换为国内的源 - 移除Ruby源:
gem source -r
[要移除的Ruby源] - 添加Ruby源:
gem source -a
[添加Ruby源地址] 注:需要为https 格式 http不可以
安装:环境搭建完成,就可以从Ruby源处进行下载
- 下载cocoaPods安装包:
sudo gem install cocoapods
注:需要输入 本地主机(即安装cocoapods的电脑)的管理员密码 不是linux的密码 - 进行解压安装:pod setup
安装成功
遇到的问题 :
-
master 文件遇到问题:
master文件问题提示信息
解决方法:如图红框部分 为官方给我们的解决方法 因为我们在墙内 ,而这个默认解决方法是墙外的,所以我们要使用另一种方法
- 查看本地是否存在 master:
pod repo
命令运行结果 - 移除master:
pod repo remove master
- 从国内源处重新下载master:
pod repo add master https://gitcafe.com/akuandev/Specs.git
- 执行更新:
pod repo update
-
找不到Xcode:
找不到Xcode
出错原因分析:Xcode路径有问题 一般是电脑安装了多个Xcode 需要找到安装到那个Xcode
解决方法:找到要安装到的Xcode 显示包内容 打开Content 下的Developer 根据此时路径设置
例如:/Applications/Xcode.app/Contents/Developer
sudo xcode-select -switch Xcode路径 - 版本问题
[!] Unable to satisfy the following requirements:
- *** required by 'Podfile'
- *** required by 'Podfile.lock'
原因: 第三方版本需要更新,Podfile需要更新
解决方案:pod update --verbose
4.gem版本低
解决方法:
sudo gem update --system
使用CocoPods:
1.创建一个要使用CocoaPods的工程 然后关闭
2.在终端下找到工程目录(一般为有.xcodeproj 工程文件的目录)
3.在目录下使用pod init
命令创建Podfile文件
注:此文件用于设置工程中需要使用的第三方信息
4.在终端下 使用 pod search [要查询的第三方关键词]
查询第三方信息
注:红框内为Podfile所需要的第三方信息,使用时将此信息填入文件(填入时选Xcode打开文件)
5.根据Podfile文件中的信息安装第三方
命令:
pod install --verbose --no-repo-update
参数:
--verbose
提示安装信息--no-repo-update
不更新索引 反之就是没有no 更新索引6.进入工程,打开.xcworkspace文件 而不是xcodeproj文件。使用CocoaPods后我们要在.xcworkspace 文件编写我们的程序。此时可以看到工程中有个Pod文件,里面有我们下好的第三方 使用CocoaPods导入的第三方
7.此时在工程导入第三方,发现只能使用<>导入文件,而不是“”。我们需要改一下工程配置文件,让我们刚下的三方和工程在同一目录下。
修改头文件路径
8.当工程中使用的第三方更新了,可以在终端下查找新的第三方信息,重新填写在Podfile中,之后在终端执行更新命令(每次Podfile执行更新都要执行该命令)
命令:
pod update --verbose --no-repo-update
参数:参考 install
补1:分享一个CocoaPods的第三方,这个三方可以避免终端的繁琐操作,直接在Xcode中就可以实现第三方的更新安装,但是要知道第三方的具体信息。和终端的查询命令相互结合可以达到更好的效果(前提是配置好CocoaPods)。
下载网址:https://github.com/kattrali/cocoapods-xcode-plugin
安装过程与其他插件一样,注意安装之后要把Xcode强制退出之后才能使用,并且只能在之后新建的工程使用,以前的工程是不能使用的。
使用:
- 创建Podfile文件
- 初始化pod 对应终端就是下载第三方的操作
- 更新版本(当版本更新时再执行操作)
补2: 关于Podfile.lock
当你执行pod install之后,除了 Podfile 外,CocoaPods 还会生成一个名为Podfile.lock的文件,Podfile.lock 应该加入到版本控制里面,不应该把这个文件加入到.gitignore中。因为Podfile.lock会锁定当前各依赖库的版本,之后如果多次执行pod install 不会更改版本,要pod update才会改Podfile.lock了。这样多人协作的时候,可以防止第三方库升级时造成大家各自的第三方库版本不一致。
此篇为学习笔记,其中参考了其他大神的blog,本人加以整理,仅为学习研究;
参考blog:
http://www.jianshu.com/p/44c894b69cf6
作者 :暮落晨曦
http://blog.devtang.com/blog/2014/05/25/use-cocoapod-to-manage-ios-lib-dependency/
作者:唐巧