*CocoaPods安装
1. 替换ruby源
1.1 CocoaPods是基于ruby ecosystem的,需要ruby环境,使用ruby的gem命令。所以我们的系统要有ruby环境。然而Mac系统默认会安装好ruby环境。可在终端 ruby -v 查看ruby版本:输出如下图
1.2 查看ruby源, 终端输入 gem sources -l,显示如下:(现在镜像使用了https了,截图有点老,下面有改正)
如果你执行后,输出为:
*** CURRENT SOURCES ***
那么你需要更换到ruby-china的镜像,因为https://gems.ruby-china.org/这个源在墙内是访问不到的。所以你需要先移除这个镜像,然后添加 ruby-china的镜像,(我这里显示的是源为https://gems.ruby-china.org/,所以下面就以这个源为例,删除和添加新的源。如果你的源已经是https://gems.ruby-china.com,就不需要换了。如果不是请安下面的步骤删除和添加新源)步骤如下。
1>.移除掉原有的源
gem sources --remove https://gems.ruby-china.org/
2>.淘宝的源已经不更新维护了,现在使用ruby-china的源哦
gem source -a https://gems.ruby-china.com
3>.验证是否替换成功,如果显示上面截图的输出就说明正确:
gem sources -l
注意:如果gem sources -l 后有多个源,只使用ruby-china这一个源就行了,其他的删掉。
2. 更新升级 Gem 版本
-
更新升级gem,gem不更新可能导致安装pod失败
sudo gem update --system
-
查看gem版本
gem -v
输出如下:
3. 安装CocoaPods
-
如果mac系统为OS X 10.11 以前安装命令为:
sudo gem install cocoapods // 安装cocoapods
Mac系统为OS X EL Capitan安装命令为:
sudo gem install -n /usr/local/bin cocoapods
-
等待其安装成功,用命令pod --version查看是否安装成功,如果成功会显示pod的版本。
如果你本地有多个xcode版本,安装时需要你指定下安装路径,不然会报错。报错信息如下:
[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master
Cloning into 'master'...
error: RPC failed; curl 56 SSLRead() return error -36
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
解决方法: 安装cocoapods 时使用 sudo xcode-select -switch 路径。比如:
- 打印当前xcode的路径
xcode-select --print-path
输出:
/Applications/Xcode.app/Contents/Developer
- 然后在执行下面的安装命令:
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
如果你xcode的名称改了例如:这时你要这样找到xcode的路径
先在终端输入”sudo xcode-select -switch “,然后,打开Xcode—>右键显示包内容,找到Developer文件夹拖到终端里面
这时安装命令行如下:
sudo xcode-select -switch /Applications/Xcode 7.3.1.app/Contents/Developer
小知识:如果想安装指定版本,使用如下
sudo gem install -n /usr/local/bin cocoapods -v 1.0.0
安装最新的release beta版本
sudo gem install -n /usr/local/bin cocoapods --pre
如果你想卸载CocoaPods怎么办?看下面:(具体卸载流程,可以自己百度下,下面只供参考)
//卸载CocoaPods
sudo gem uninstall cocoapods
4. 更新Podspec索引文件
安装成功后 执行pod setup:
pod setup
pod setup作用:
将所有第三方的Podspec索引文件更新到本地的~/.cocoapods/repos目录下。所有的第三方开源库的Podspec文件都托管在https://github.com/CocoaPods/Specs,我们需要把这个Podspec文件保存到本地,这样才能让我们使用命令pod search 开源库搜索一个开源库,怎样才能把github上的Podspec文件保存本地呢?那就是 pod setup
执行pod setup时,CocoaPods 会将第三方的podspec索引文件更新到本地的~/.cocoapods/repos目录下。
但是第一次执行pod setup时,这个github的Podspec索引文件比较大,有 300M 左右(以后会越来越大的),所以第一次更新时非常慢.要耐心等待…..
最后当出现 Setup completed 表示setup完成。
如果遇到如下报错:
[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master --progress
Cloning into 'master'...
remote: Counting objects: 2016093, done.
remote: Compressing objects: 100% (555/555), done.
error: RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
可能是Git的传输字节限制引起的,这时候使用 git config -l,查看Git配置,如下图,红色框是我配置的传输字节大小。
解决方法:修改 传输字节限制,使用以下方法。后面的限制数字,可以自己定大小(524288000,相当于500M)
git config --global http.postBuffer 1048576000
执行后在 git config -l,看看是否修改成功。
如果遇到如下报错:
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
解决方法:更换镜像下载地址
1.进入pod目录
cd ~/.cocoapods/repos
2.移除master
pod repo remove master
3.添加清华镜像
pod repo add master https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git
4.更新
pod repo update
如果第三步没有成功,(有的版本CocoaPods 不允许用pod repo add直接添加master库了)可以使用下面的方法
1.进入pod目录
cd ~/.cocoapods/repos
2.移除master
pod repo remove master
3.添加清华镜像
git clone https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git master
上述步骤成功后,需要进入自己的工程,在自己工程的podFile第一行加上:(这个代表你从哪里拉取Git代码)
source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git'
*CocoaPods的使用方法
1、安装完以后,终端输入:
pod search AFNetworking
成功后会,显示AFNetworking的相关信息 (注意:要在根目录下使用pod search,不要进入那个文件夹下使用。),如果你的pod 版本是1.8以上的时候,pod search 会出现以下错误 :[!] CDN: trunk Repo update failed (没有的请忽略),解决方法在下面的第三步,新建一个名为Podfile的文件里
2、进入项目目录 cd 文件路径
3、新建一个名为Podfile的文件
touch Podfile
touch Podfile是建一个空白的文件,文件名是Podfile
执行完后可以在项目文件夹下看到这个文件,如下:
4、 编辑 Podfile文件
编辑文件有2中方法,第一种:直接双击文件打开,输入以下内容,保存
platform :ios, '7.0'
target 'SwiftFirst' do
pod 'AFNetworking', '~> 3.1.0'
end
其中 target 'SwiftFirst’ do 中的SwiftFirst是你的项目名称,platform :ios, ‘7.0' 支持最低的ios平台,pod 'AFNetworking', '~> 3.1.0’ 安装AFNetworking 3.1.0 版本,安装那个版本需要先pod search 这个第三方库,如果搜索不到,安装会失败
第二种使用终端:(推荐使用)
还是在项目目录下,输入vim Podfile,然后 按键盘的“i”键 编辑,输入上面的文本内容:
编辑完成后想要退出保存步骤:先按左上角的esc键,再按:键,再输入wq,点击回车,就保存并退出去了。
注意:如果你pod版本再1.8 以上,pod search 出现以下错误 :[!] CDN: trunk Repo update failed (没有的请忽略)时。解决方法如下:
- podfile文件中指定source源为master,(写在第一行):
source 'https://github.com/CocoaPods/Specs.git'
- cd到项目目录下,执行pod repo remove trunk移除trunk源
pod repo remove trunk
- cd --到根目录下,在执行pod search AFNetworking,就能搜到AFNetworking。
参考链接:[!] CDN: trunk Repo update failed
5、 下载第三方库
注意安装的时候,最好把xcode先关掉,进入项目文件夹下,执行 pod install
pod install
当出现 Pod installation complete 的时候,说明成功了,这时候打开项目文件夹,发现多了几个文件,如下
这时候双击打开后缀名为.xcworkspace文件,就可以看到你引入的第三方库了
感谢以下作者的文章,如果有什么不足,欢迎下方指正。
参考链接:
安装CocoaPods报"RPC failed; curl 18 transfer closed with outstanding read data remaining".
Cocopods安装和使用教程.
安装CocoaPods步骤.