iOS的开发〜CocoaPods使用详细说明
1. 概要
iOS的开发时,项目中会引用许多第三方库,CocoaPods(https://github.com/CocoaPods/CocoaPods)可以用来方便的统一管理这些第三方库。
2. 安装
由于有很多教程 ,我就在此整理一下(注意的是:的CocoaPods是一个类似插件的东西,要想使用必须先下载安装后才能使用 - >而安装的CocoaPods需要Ruby环境)
2.1.Ruby环境的搭建
当前安装环境为MacBook Air 10.12.6(基本是最新的环境),因为Mac OS自带Ruby,但还是需要咱们重新配置一下(保证Ruby环境是咱们需要的)
//打开终端输入
ruby -v
//输出信息
ruby 2.0.0p643 (2015-02-25 revision 49749) [x86_64-darwin15.0.0]
结果截图
2.2.查看Ruby源的镜像地址
查看ruby源的镜像地址
//查看ruby源命令行
gem sources -l
(查看镜像地址是不是https://gems.ruby-china.org/
如果你的镜像地址不是https://gems.ruby-china.org/请看2.3替换现有ruby镜像
如果是请忽略此步骤)
效果图
2.3替换现有ruby镜像
移除原有ruby镜像地址替换成https://gems.ruby-china.org/镜像地址(我的已经是https://gems.ruby-china.org/这个镜像地址,此处我只做第三步验证是否替换成功)
//1.移除掉原有的源
gem sources --remove https://rubygems.org/
//2.淘宝的源已经不更新维护了,现在使用ruby-china的源哦
gem source -a https://gems.ruby-china.org (已废弃 不能使用)
gem sources -a https://gems.ruby-china.com (2020.4月最新)
//n.以下命令添加淘宝的源:(不建议继续使用)
gem sources -a https://ruby.taobao.org/
//3.验证是否替换成功
gem sources -l
如下图所示:表示替换成功
如果Ruby源镜像地址替换失败请看(下一步)2.4 ↓↓↓↓↓↓↓
2.4更新升级 Gem 版本(如果上述Ruby源替换成功可忽略)
Gem是管理Ruby库和程序的标准包,如果它的版本过低也可能导致安装失败,解决方案自然是升级Gem,执行下述命令即可:
// 更新升级gem,国内需要切换源
sudo gem update --system
//查看gem版本
gem -v
2.6.6
3. 安装Cocoapods(以下四种任选一种)
OS X 10.11 以前安装命令为:
//1.安装cocoapods
sudo gem install cocoapods
Mac系统为OS X EL Capitan安装命令为:
//2.安装最新版本
sudo gem install -n /usr/local/bin cocoapods
//3.安装指定版本
sudo gem install -n /usr/local/bin cocoapods -v 1.0.0
//4.安装最新的release beta版本
sudo gem install -n /usr/local/bin cocoapods --pre
eg:例子
我的电脑系统是10.12.6 所以我用了命令行
sudo gem install -n /usr/local/bin cocoapods
效果图 -->
//密码就是电脑的开机密码
//输密码的时候光标不响应,密码输入完成后回车即可,建议不要重复输入
//安装成功的图示:
查看是否安装成功
//查看cocoapods版本(会输出对应的版本号)
pod --version
//到此Cocoapods安装成功,就可以使用CocoaPods去帮助工程下载第三方库了
//到此Cocoapods安装成功,就可以使用CocoaPods去帮助工程下载第三方库了
//到此Cocoapods安装成功,就可以使用CocoaPods去帮助工程下载第三方库了
//(5.是使用方法)
如果你想卸载CocoaPods怎么办?看下面:
//卸载CocoaPods
sudo gem uninstall cocoapods
4. 更新Podspec索引文件
如果按照上面3个步骤没问题,用命令pod --version查看是否安装成功,如果成功会显示pod的版本。
pod setup作用:将所有第三方的Podspec索引文件更新到本地的~/.cocoapods/repos目录下
pod安装成功之后一个首先的操作就是执行命令(不是必须的):
//更新pod文件 (此命令行必须执行,由于文件比较大,造成更新时间较长,请耐心等待)
pod setup
所有的第三方开源库的Podspec文件都托管在https://github.com/CocoaPods/Specs
我们需要把这个Podspec文件保存到本地,这样才能让我们使用命令pod search 开源库搜索一个开源库,怎样才能把github上的Podspec文件保存本地呢?那就是 pod setup
执行pod setup时,CocoaPods 会将第三方的podspec索引文件更新到本地的~/.cocoapods/repos目录下
- 如果没有执行过 pod setup,那用户根目录下~找不到.cocoapods/repos目录的,没有创建这个目录。
- 如果执行 pod setup,并且命令没有执行成功,那么会创建~/.cocoapods/repos目录,只不过目录是空的。
- 如果执行 pod
setup,并且命令执行成功,说明把github上的Podsepc文件更新到本地,那么会创建~/.cocoapods/repos目录,并且repos目录里有一个master目录,这个master目录保存的就是github上所有第三方开源库的Podspec索引文件。
但是第一次执行pod setup时,这个github的Podspec索引文件比较大,有 300M 左右(以后会越来越大的),所以第一次更新时非常慢.要耐心等待…可以进去目录~/.cocoapods/repos使用命令du -sh *来查看下载文件的大小了
怎么才能快点呢?网上好多给出都是更换索引库的镜像,gitcafe
和oschina, gitcafe已经被coding收购了(2016年3月份左右收购)。这两个我亲测,现在都不行了(可能是我网速不好,基本上就是连接失败,有空网速好点的时候我在测试一下)。所以还是别更换 CocoaPods 索引库的镜像了。
5. CocoaPods的具体使用方法
5.1. 新建Podfile文件
使用时需要在你的项目根目录下新建一个名为Podfile的文件(命令行创建Podfile文件,文件名一定为Podfile,不能更改),将依赖的库名字依次列在文件中即可.
//创建Podfile文件的命令行
//1.cd(进入)到项目的根目录下
cd ~/Desktop/Projects/JYCocoaPodsTest
//2.新建一个名为Podfile的文件
touch Podfile
5.2.怎么cd 到项目总目录
CococaPods升级到1.0.0版本之后,Podfile文件的格式也发生了很大改变
我来带领大家写一个完整的Podfile文件 ,各个选项的解释在文件后面一起解释。
下面是我的项目结构:项目名为Test100
项目目录为:/Users/house365/Desktop/平时测试/Test100
找到工程总目录的方式:
/Users/house365/Desktop/平时测试/Test100即为项目总目录
5.3.编辑Podfile文件(以下两种方式任选一种,建议选第一种)
右击Podfile选择Xcode打开方式
在Podfile文件里面添加如下代码:
1.简单的Podfile:
platform :ios, '8.0'
target ‘Test100’ do
pod 'YYText', '~> 1.0.7'
pod 'SDWebImage', '~> 4.0.0-beta2'
end
截图:
2.稍微复杂的Podfile:
source 'ssh://git@gitlab.9ijx.com:9830/iOS/Specs.git'
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '7.0'
use_frameworks!
inhibit_all_warnings!
workspace 'JYCocoaPodsTest'
target 'JYCocoaPodsTest' do
pod 'AFNetworking'
pod 'JYCarousel', '0.0.1'
pod 'WCJCache', :git => "http://gitlab.9ijx.com/iOS/WCJCache.git"
target :JYCocoaPodsTestUITests do
inherit! :search_paths
pod 'YYText'
end
end
Podfile的语法解释:
1.platform :iOS, '8.0' 指定了开源库应该被编译在哪个平台以及平台的最低版本。
8.0是你项目支持的最低版本要求(我的项目要求最低支持ios 8.0的系统)
2.target 'xxxx' do
end
'xxx' : xxx填写你的项目名称 ,如下图所示
** end** 指定特定Target的依赖库 可以嵌套子Target的依赖库
3.pod 'YYText', '~> 1.0.7'
pod 'SDWebImage', '~> 4.0.0'
这些都是第三方库下载地址
告诉Cocoapods下载什么第三方库(SDWebImage),什么版本(4.0.0)
(5.4中)详细讲述怎么去找对一个的第三方库下载地址
看到这里你会疑问
这里面的第三行第四行哪里来的 ,我去哪里找?(请看5.4)
5.4.找到第三方库对应版本的代码
如果你想找到AFNetWorking的第三方库?请参照下面的步骤
打开命令终端
//输入命令行 回车(等待响应 下图所示)
pod search AFNetworking
//…第一次搜索耗时比较长,请耐心等待
搜索成功后会出现绿色字体的对应类库(如下图)
上述红色框内的就是 5.3 中的疑问,3.1.0是版本号,如果想要低版本的只需改掉版本号就行
pod ‘AFNetworking’, ‘~> 3.1.0’
复制第三方库下载地址到Podfile文件中
//搜索完毕
执行wq 退出搜索界面
5.5.保存并下载第三方库
5.4步骤执行完毕之后 common+s 保存Podfile文件
//打开命令终端
//cd到项目总目录 回车 (上面5.2中有讲到怎么找项目总目录)
cd /Users/house365/Desktop/平时测试/Test100
//执行更新下载命令行:
pod install
//等待第三方库下载(下载后会有提示成功与否)
6.结语
pod install更新完成后就算大功告成了
接下来去打开工程项目(你会发现你的工程多了一个xcworkspace文件)
对,这就是Cocoapods的产物,以后就用这个去打开工程(只有这个xcworkspace这种打开方式你Cocoapods导入的第三方类库才不会报错)如下图
然后编译看是否报错,如果不报错大功告成–>
以上就是Cocoapods导入第三方库的所有教程,第一次写 还请见谅!!!