Cocoapods整理(二)——使用Cocoapods


目录


1.Pod常用命令

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 这里,如图:

对于该问题有下面几个处理方法:

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. (这样不行,因为master文件夹里少了.git文件,还是不能用。)

2.Pod集成进项目

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私有库环境


03-05 21:19