iOS-安装CocoaPods详细过程
一、简介
-
什么是CocoaPods
CocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为“Pods”的依赖库(这些类库必须是CocoaPods本身所支持的),并且可以轻松管理其版本。
-
CocoaPods的好处
1、在引入第三方库时它可以自动为我们完成各种各样的配置,包括配置编译阶段、连接器选项、甚至是ARC环境下的-fno-objc-arc配置等。
2、使用CocoaPods可以很方便地查找新的第三方库,这些类库是比较“标准的”,而不是网上随便找到的,这样可以让我们找到真正好用的类库。
二、Cocoapods安装步骤
注意:在终端输入命令时,取$后面部分输入
1、升级Ruby环境
终端输入:$ gem update --system
此时会出现
image这是因为你没有权限去升级Ruby
这时应该输入:$ sudo gem update --system
此时会出现
image接下来输入密码,注意:输入密码的时候没有任何反应,光标也不会移动,你尽管输入就是了,输完了直接回车。
等一会如果出现
恭喜你,升级Ruby成功了。
2、更换Ruby镜像
首先移除现有的Ruby镜像
终端输入:$ gem sources --remove https://rubygems.org/
然后添加国内最新镜像源(淘宝的Ruby镜像已经不更新了)
终端输入:$ gem sources -a https://gems.ruby-china.org/
执行完毕之后输入gem sources -l来查看当前镜像
终端输入:$ gem sources -l
如果结果是
*** CURRENT SOURCES ***
https://gems.ruby-china.org/
说明添加成功,否则继续执行$ gem source -a https://gems.ruby-china.org/
来添加
3、安装CocoaPods
接下来开始安装
终端输入:$ sudo gem install cocoapods
如果出现这个
image说明没有权限,需要输入
终端输入:$ sudo gem install -n /usr/local/bin cocoapods
安装成功如下:
image到这之后再执行pod setup(PS:这个过程是漫长的,要有耐心)
终端输入:$ pod setup
然后你会看到出现了Setting up CocoaPods master repo,卡住不动了,说明Cocoapods在将它的信息下载到 ~/.cocoapods里。
你可以command+n
新建一个终端窗口,执行cd ~/.cocoapods/
进入到该文件夹下,然后执行du -sh *
来查看文件大小,每隔几分钟查看一次,这个目录最终大小是900多M(我的是930M)
当出现Setup completed
的时候说明已经完成了。
哈哈,太不容易了,终于走到这一步了,终于安装完成了,那么到底能不能用呢?咱们接着往下看!
注意:以上所有的步骤都是为这台电脑配置CocoaPods环境,以下才是真正的把CocoaPods安装到你的工程里面。
4、CocoaPods的使用
1、首先我们来搜索一下三方库
终端输入:$ pod search AFNetworking
这时有可能出现
image这是因为之前pod search的时候生成了缓存文件search_index.json
执行rm ~/Library/Caches/CocoaPods/search_index.json
来删除该文件
然后再次输入pod search AFNetworking
进行搜索
这时会提示Creating search index for spec repo 'master'..
等待一会将会出现搜索结果如下:
出现这个了就说明搜索成功了,看一下上图中的这一句:
pod 'AFNetworking', '~> 3.1.0'
这句话一会我们要用到,这是CocoaPods添加三方库的关键字段
然后退出这个界面(这一步只是验证一下cocoapods有没有安装成功,能不能搜索到你想要的三方库),直接按"q"就退出去了。
如果搜索到的版本不是最新的,请查看iOS解决CocoaPods搜索不到最新版SDK的问题
2、在工程中创建一个Podfile文件
要想在你的工程中创建Podfile文件,必须先要进到该工程目录下
终端输入:$ cd /Users/liyang/Desktop/CocoaPodsTest
//这是我电脑上的路径,你输入你自己项目的路径或直接拖拽也行
进来之后就创建
终端输入:$ touch Podfile
然后你在你的工程目录下可以看到多了一个Podfile文件
3、编辑你想导入的第三方库的名称及版本
使用vim编辑Podfile文件
终端输入:$ vim Podfile
进入如下界面:
image进来之后紧接着按键盘上的英文'i'
键
下面的"Podsfile" 0L, 0C
将变成-- INSERT --
然后就可以编辑文字了,输入以下文字
platform :ios, '7.0'
target 'MyApp' do
pod 'AFNetworking', '~> 3.1.0'
end
解释一下
platform :ios, '7.0'
代表当前AFNetworking支持的iOS最低版本是iOS 7.0,
'MyApp'
就是你自己的工程名字,
pod 'AFNetworking', '~> 3.1.0'
代表要下载的AFNetworking版本是3.1.0及以上版本,还可以去掉后面的'~> 3.1.0'
,直接写pod 'AFNetworking'
,这样代表下载的AFNetworking是最新版。
编辑完之后成如下样子:
image此时该退出去了,怎么退出去呢?跟着我做,先按左上角的esc键,再按:键,再输入wq,点击回车,就保存并退出去了。
这时候,你会发现你的项目目录中名字为Podfile的文件的内容就是你刚刚输入的内容。
4、把该库下载到Xcode中
终端输入:$ pod install
这就开始下载了,需要一段时间,出现如下界面就说明安装好了
image这个时候关闭所有的Xcode窗口,再次打开工程目录会看到多了一个后缀名为.xcworkspace文件。
image以后打开工程就双击这个文件打开了,而不再是打开.xcodeproj文件。
进入工程后引入头文件不再是#import "AFNetworking.h"
,而是#import <AFNetworking.h>
摘自:https://www.jianshu.com/p/33998bd10f8c
The Podfile is a specification that describes the dependencies of the targets of one or more Xcode projects.
A Podfile can be very simple:
target 'MyApp'
pod 'AFNetworking', '~> 1.0'
An example of a more complex Podfile can be:
platform :ios, '9.0'
inhibit_all_warnings!
target 'MyApp' do
pod 'ObjectiveSugar', '~> 0.5'
target "MyAppTests" do
inherit! :search_paths
pod 'OCMock', '~> 2.0.1'
end
end
post_install do |installer|
installer.pods_project.targets.each do |target|
puts "#{target.name}"
end
end