Cocoapods整理(二)——使用Cocoapods
目录
- Pod常用命令
- Pod集成进项目
- Pod从项目中删除
- 遇到的问题
1.Pod常用命令
pod search XXXX :搜索XXXX框架信息(该信息是从本地的repo中搜索的)pod setup :初始化pod,会更新三方库信息库
pod repo update :更新cocoapods官方三方库信息库(可指定repo库名更新,如:pod repo update master)
pod init :为Xcode项目初始化pod(在项目路径下创建Podfile文件)
pod install :根据Podfile描述文件“下载/更新”三方框架,并集成到当前路径的项目中。如果第一次安装则自动创建.xcworkspace文件
1> 搜索三方框架
pod search XXXX
以AFNetworking为例:在命令行输入 pod search AFNetworking 会显示
然后按Q键可以返回
此外还可以在网上搜索:Pod搜索网站
2> 初始化/更新框架库
pod setup
pod repo update
我们通过pod search AFNetworking命令搜索,其实就是在本机的 ~/.cocoapods/repos 目录下搜索;搜索得到的AF库的详细信息,就是路径下.podsepc文件里存的信息。
我们打开该目录可以看到一个master文件夹,这个文件夹就是cocoapods官方的三方库信息库,记录了所有发布到cocoapods官方repo库上的三方库信息。
而pod setup命令的其中一步(或pod repo update)其实就是去pull repos文件夹下的所有repo库。如此,当有人发布新的框架信息时,你需要先执行一下pod setup 或 pod repo update将新信息拉下来,然后就可以search到这些新库的信息了。
附上cocoapods官方三方库信息库的链接:The CocoaPods Master Repo --> https://github.com/CocoaPods/... / https://github.com/CocoaPods/...
ps:
需要注意的是,经常有人遇到会一直卡在 Setting up CocoaPods master repo 这里,如图:
对于该问题有下面几个处理方法:
1. 因为执行setup后会从cocoapods官方仓库中clone代码到~/.cocoapods/repos/路径。其中包含了非常多的三方库信息文件,也就是.podspec.json文件,大小有1G左右。如果是第一次拉取的话是会比较慢一点。可以通过下面的几个方法来判断下载进度:
1> 可以看下~/.cocoapods/repos/master(也可能是~/.cocoapods/repos/cocoapods) 文件夹的大小有没有发生变化,以此来判断是真的卡住了还是正在下载中。2> 另外还可以在命令行中的~/.cocoapods/repos 路径下执行 du -sh * 查看当前文件夹下各个项目的大小,以便于判断是否正在下载中。
3> 或者在活动监视器中网络那一栏中搜索git可以看到git-remote-http或git-remote-https。
2. 连ss后设置git代理
添加代理: git config --global http.proxy socks5://127.0.0.1:1086 git config --global https.proxy socks5://127.0.0.1:1086 或者仅添加指定网站: git config --global http.http://github.com.proxy socks5://127.0.0.1:1086 git config --global https.https://github.com.proxy socks5://127.0.0.1:1086 移除代理: git config --global --unset http.proxy git config --global --unset https.proxy git config --global --unset http.http://github.com.proxy git config --global --unset https.https://github.com.proxy 本质上是修改的~/.gitconfig文件,可以查看该文件来确定设置是否修改正确 需要注意:里面的1086端口只是举例,具体端口号要看你自己ss设置中的“本地Socks5监听端口”是多少
设置后如果pod update更新repo出错,则可以手动添加官方repo。
pod repo add master https://github.com/CocoaPods/Specs.git
3.
此外还有一个解决办法,就是直接去https://github.com/CocoaPods/... 下载,下载下来之后拷贝到~/.cocoapods/repos目录下。(这样不行,因为master文件夹里少了.git文件,还是不能用。)
2.Pod集成进项目
1. 项目初始化pod
2. 编写Podfile
3. 项目集成pod
4. 使用
1> 项目初始化pod
在命令行中cd到你的Xcode项目根目录,然后输入
pod init
在当前目录下会创建一个Podfile文件。
2> 编写Podfile
以AFNetworking为例,
用pod search AFNetworking命令搜索,然后将其中的 pod 'AFNetworking', '~> 3.1.0' 拷贝到Podfile文件中,并修改你想要的版本。
3> 项目集成pod
然后在命令行中,项目根目录下输入 pod install 等待安装完成
然后项目根路径下会多出一个.xcworkspace文件
以后打开项目将使用.xcworkspace文件,而不使用原有的.xcodeproj
4> 使用
3.Pod从项目中删除
1> 项目中进入Target->Build Phases,删除 [CP]Check Pods Manifest.lock 和 [CP]Copy Pods Resources
2> 项目文件夹下,删除Pod相关文件
3> 最后打开项目,删除 libPods-XXXX.a 和 Pods目录下的所有文件。
4.遇到的问题
问题一:pod install 出现如下错误
[!] Error installing MJRefresh
[!] /usr/bin/git clone http://xx.com/CoderMJLee/MJRefresh.git /var/folders/wg/... --template= --single-branch --depth 1 --branch 3.4.3
Cloning into '/var/folders/wg/...'...
fatal: unable to access 'http://xx.com/CoderMJLee/MJRefresh.git/': Could not resolve host: xx.com
发现podfile中source源地址与错误信息中的三方库地址的域名不同。
原因:podfile.lock中记录了三方库的source源地址信息,而pod install不会更新podfile.lock。所以删掉podfile.lock重新pod install即可解决问题。
后续
Cocoapods整理(一)——安装Cocoapods
Cocoapods整理(三)——编写podspec文件
Cocoapods整理(四)——搭建Cocoapods私有库环境
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。