项目开发过程中,使用比较多的第三方库都是由CocoaPods来管理的,这次总结一下CocoaPods的安装使用以及卸载。
在安装之前需要做一些准备工作,先检查是否有安装残留,由于Mac 10.11更改了安全机制,所以cocoapods得安装和卸载命令也有所改变:
1、如果之前装过cocopods,最好先卸载掉,卸载命令:
sudo gem uninstall cocoapods【Mac 10.10之前】
sudo gem uninstall -n /usr/local/bin cocoapods【Mac 10.11之后】
2、先查看本地安装过的cocopods相关东西【本步骤没有必要】,命令如下:
gem list --local | grep cocoapods
会显示如下:
cocoapods-core (0.39.0)
cocoapods-downloader (0.9.3)
cocoapods-plugins (0.4.2)
cocoapods-search (0.1.0)
cocoapods-stats (0.6.2)
cocoapods-trunk (0.6.4)
cocoapods-try (0.5.1)
然后逐个删除吧:
sudo gem uninstall cocoapods-core【Mac 10.10之前】
sudo gem uninstall -n /usr/local/bin cocoapods-core【Mac 10.11之后】
清理完之后来看下我们的Ruby环境:
注:要使用CocoaPods,那就要下载安装它,而下载安装CocoaPods需要Ruby环境
1、准备工作
当前安装环境为Mac os 10.11.6。Mac OS本身自带Ruby,但还是更新一下保险,因为我第一次安装在没有更新Ruby的情况下就失败了。
a) 查看下当前ruby版本:打开终端输入 ruby -v(有时候可能因为ruby版本过低导致接下来工作失败了,我的ruby2.0.0版本是没问题,所以更新下ruby)(更新方法)
b)cocoapods镜像:https://gems.ruby-china.org/ 好像现在不支持淘宝了
终端输入如下命令(把Ruby镜像指向Ruby China,避免被墙,你懂得)
gem sources --remove https://rubygems.org/
gem sources --add https://gems.ruby-china.org/
gem sources -l (用来检查使用替换镜像位置成功)
到这里基本行完成了基础工作。
3.下载安装CocoaPods:
终端输入命令
sudo gem install -n /usr/local/bin cocoapods
我是直接输入 sudo gem install cocoapods
(具体的看看)
最后,在终端中输入如下命令来完成安装:
pod setup
这条命令,将 CocoaPods Specs repository
复制到你电脑上的~/.cocoapods目录下。Terminal会停留在 Setting up CocoaPods master repo 这个状态一段时间,是因为要进行下载安装,而且目录比较大,需要耐心等待一下.安装成功后,你会看到: setup completed
这样就下载安装好了CocoaPods。
打开Xcode,创建一个新的singleView工程如PodTest,然后关掉Xcode,是的关掉它。现在该创建你的podfile了。
安装你的第一个第三方组件
打开终端,并定位到刚刚创建的工程目录下,依次输入命令:
cd desktop
cd PodTest
(我是把新工程PodTest放在桌面上的所以路径在桌面上就可以找到)
然后输入命令:
pod init
这条命令会在你的工程下创建一个默认的Podfile。你将在Podfile里定义所用到的组件。(这时候你就可以在你新建的项目中看到一个Podfile文件了)
输入下面的命令,用Xcode打开Podfile:
open -a Xcode Podfile
默认的Podfile看起来像这样:
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
target 'PodTest' do
# Uncomment the next line if you're using Swift or would like to use dynamic frameworks
# use_frameworks!
# Pods for PodTest
target 'PodTestTests' do
inherit! :search_paths
# Pods for testing
end
target 'PodTestUITests' do
inherit! :search_paths
# Pods for testing
end
end
将# platform:ios, “9.0”替换成,告诉CocoaPods你的工程是运行在iOS9下:
platform :ios, "10.0"
(很多类库都有最低的iOS版本要求的。)
现在终于可以用CocoaPods加入你的需要的组件了。例如在Podfile中,target “PodTest” do下面加上:
// 下面都加了版本,表示就下载这个版本的库;如果不加版本号,也就是不显式指定依赖库版本,则表示每次都获取最新版本
pod 'AFNetworking', '3.1.0'
pod 'SDWebImage', '4.2.3'
pod 'ReactiveCocoa', '2.5.0'
这句话告诉CocoaPods你想要在工程中引入AFNetworking Version 3.1.0。
如果你想要使用更复杂的操作,请看 更多Podfile语法 。
保存并关闭Podfile。
现在告诉CocoaPods去安装这些组件到你的工程中。在终端中输入(确保在项目目录下):
pod install
此时CocoaPods在项目目录下创建了一个Pods文件夹—-用于存放所有的第三方组件,以及PodTest.xcworkspace。
正如上面的警告提醒,从现在开始,你必须使用PodTest.xcworkspace来打开该项目。
如果Xcode项目还打开着,关掉它,打开PodTest.xcworkspace。
注意:使用第三方的时候倒入相关头文件使用尖括号倒入的
#import
突然发现有的第三方版本更新了,或者想删除这个第三方怎么办呢?
更新第三方库:
首先需要在podfile文件里把对应的第三方库版本改成你要更新的版本,然后到终端里输入:
// 后面的no-repo-update指的是不更新本地的pod库,这样快一些
pod update --verbose --no-repo-update
或者:
pod update
删除一个第三方库:
首先需要在podfile文件里把对应的第三方库删掉,然后到终端里输入:
pod update --verbose --no-repo-update
或者:
pod update