CocoaPods是一个负责管理iOS项目中第三方开源代码的工具,使用CocoaPods可以节省设置和更新第三方开源库的时间并提高工作效率。
一.搭建Ruby环境
一般Mac OS已经自带Ruby环境,可在终端输入ruby -v查看当前版本
macdeMacBook-Pro:~ Artron_LQQ$ ruby -v ruby 2.0.0p645 (2015-04-13 revision 50299) [universal.x86_64-darwin15] macdeMacBook-Pro:~ Artron_LQQ$
gem update --system
然后把Ruby镜像更换为taobao的镜像,避免被墙
终端输入:
gem sources --removehttps://rubygems.org/
gem sources -a http://ruby.taobao.org/
如下:
macdeMacBook-Pro:~ Artron_LQQ$ gem sources --remove https://rubygems.org/ https://rubygems.org/ removed from sources macdeMacBook-Pro:~ Artron_LQQ$ gem sources -a http://ruby.taobao.org/ http://ruby.taobao.org/ added to sources输入gem sources -l可查看当前Ruby镜像:
macdeMacBook-Pro:~ Artron_LQQ$ gem sources -l *** CURRENT SOURCES *** https://ruby.taobao.org/ macdeMacBook-Pro:~ Artron_LQQ$
Ruby镜像即替换成功,下面开始安装cocoapods!
如果替换不成功,可改为:gem sources -a https://ruby.taobao.org/
二,安装
打开终端,输入以下命令
sudo gem install cocoapods等待安装完成!
然后输入pod setup命令配置CocoaPods(也可以不输入,不输入的话第一次使用pod命令的时候也会自动执行)
三,使用
1.进入工程的根目录
终端输入cd 工程根目录
PS:有些小伙伴不知道怎么查看文件的目录,其实很简单,输入cd后空一格,然后拖动文件夹到终端即可自动生成文件目录!
macdeMacBook-Pro:~ Artron_LQQ$ cd /Users/mac/Desktop/LQQAFNetworking2.0 macdeMacBook-Pro:LQQAFNetworking2.0 Artron_LQQ$2.新建Podfile文件
终端输入touch Podfile (注意Podfile的大小写)
macdeMacBook-Pro:LQQAFNetworking2.0 Artron_LQQ$ touch Podfile macdeMacBook-Pro:LQQAFNetworking2.0 Artron_LQQ$这时候,工程根目录下会多个Podfile文件...
3.打开Podfile文件
终端输入vi Podfile,即可打开Podfile文件
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ "Podfile" 0L, 0C
4.编辑Podfile文件
终端输入i 即可进入文件的编辑模式,然后输入需要安装的库文件
platform :iOS,'7.0' pod "AFNetworking","~>2.5" ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -- INSERT --platform表示类库支持的最低系统版本
pod命令是用于导入第三方库,后面的"~>2.5"是指定导入库的版本,如果不加,即导入最新版本
编辑完成后,按下esc键,进入命令行模式,然后按shift+:后输入wq(保存并退出),回车即可保存编辑内容并退出编辑!
如果不知道三方库是否支持pod或者库的版本,可用pod search命令查询:
macdeMacBook-Pro:LQQAFNetworking2.0 Artron_LQQ$ pod search AFNetworking -> AFNetworking (3.0.4) A delightful iOS and OS X networking framework. pod 'AFNetworking', '~> 3.0.4' - Homepage: https://github.com/AFNetworking/AFNetworking - Source: https://github.com/AFNetworking/AFNetworking.git - Versions: 3.0.4, 3.0.3, 3.0.2, 3.0.1, 3.0.0, 3.0.0-beta.3, 3.0.0-beta.2, 3.0.0-beta.1, 2.6.3, 2.6.2, 2.6.1, 2.6.0, 2.5.4, 2.5.3, 2.5.2, 2.5.1, 2.5.0, 2.4.1, 2.4.0, 2.3.1, 2.3.0, 2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2.0, 2.1.0, 2.0.3, 2.0.2, 2.0.1, 2.0.0, 2.0.0-RC3, 2.0.0-RC2, 2.0.0-RC1, 1.3.4, 1.3.3, 1.3.2, 1.3.1, 1.3.0, 1.2.1, 1.2.0, 1.1.0, 1.0.1, 1.0, 1.0RC3, 1.0RC2, 1.0RC1, 0.10.1, 0.10.0, 0.9.2, 0.9.1, 0.9.0, 0.7.0, 0.5.1 [master repo] - Subspecs: - AFNetworking/Serialization (3.0.4) - AFNetworking/Security (3.0.4) - AFNetworking/Reachability (3.0.4) - AFNetworking/NSURLSession (3.0.4) - AFNetworking/UIKit (3.0.4) macdeMacBook-Pro:LQQAFNetworking2.0 Artron_LQQ$5.下载文件
以上完成后,在终端输入:pod install,即可开始下载所需的库文件,时间可能会比较久,下载成功后会有如下输出:
macdeMacBook-Pro:LQQAFNetworking2.0 Artron_LQQ$ pod install Updating local specs repositories CocoaPods 1.0.0.beta.2 is available. To update use: `gem install cocoapods --pre` [!] This is a test version we'd love you to try. For more information see http://blog.cocoapods.org and the CHANGELOG for this version http://git.io/BaH8pQ. Analyzing dependencies Downloading dependencies Installing AFNetworking (2.6.3) Generating Pods project Integrating client project [!] Please close any current Xcode sessions and use `LQQAFNetworking2.0.xcworkspace` for this project from now on. Sending stats Pod installation complete! There is 1 dependency from the Podfile and 1 total pod installed. macdeMacBook-Pro:LQQAFNetworking2.0 Artron_LQQ$到此,pod的安装及下载文件就算完成了,打开项目文件夹会发现多了个Pods文件夹和Podfile,Podfile.lock,还有一个.xcworkspace文件,此时再打开工程的话就不能用.xcodeproj了,而是用新生成的.xcworkspace文件.
pod在为我们下在这些三方库文件的同时也为我们使用这些库文件所需要在工程中的配置也一并配置好了,使用时只需直接导入相应的头文件!
如果找不到头文件,可做如下设置:在工程的Build Settings搜索Search Paths,然后在User header search paths中添加$(SRCROOT)
并选择recursive
(也就是递归查找)
第一次安装的时候需要全程使用终端指令操作,待项目添加pod后,就可以打开项目,直接在项目中的Podfile中编辑:
如果需要新增库,就在Podfile文件中新增:pod 第三方库名
如果需要删除,就将库文件从Podfile文件中删除
然后,再在终端中输入 pod install,等待完成即可!
注意:所有在终端中操作pod指令的前提是,一定要cd到项目的根目录...
*********************************************************************************************