使用工具:
Mac OSX操作系统:OS X 10.12.2
编译环境:Xcode 8.2.1
Mac 终端
一. 搭建CocoaPods环境
**1. 打开Mac 终端 **
右上角搜索终端 或者 在Launchpad找到“其他”软件文件夹,找到终端打开。
2. 更新ruby
替换Ruby的默认源,移除https://rubygems.org/,添加淘宝的https源
(把Ruby镜像指向taobao,避免被墙)
gem sources --remove https://rubygems.org/
gem sources -a https://ruby.taobao.org/
如果之前安装有http://ruby.taobao.org/,则需要移除http的淘宝源:
gem sources --remove http://ruby.taobao.org/
PS: 之前淘宝的是 http 的,现在要替换成 https 的.
// 删除旧源
gem sources --remove https://rubygems.org/
// 设置新源 ruby-china (需要最新的 ruby 中国)
gem source -a https://gems.ruby-china.com
替换移除添加.png
3. 验证是否成功替换Ruby的默认源
gem sources -l
验证.png
4. 更新Mac 的Gem,Gem是管理Ruby库和程序的标准包
sudo gem update --system
或者(Mac OSX 10.11之后)
sudo gem update -n /usr/local/bin —system
然后输入管理员权限密码(看不到输入结果的,输完密码之后直接回车)
更新.png
5. 完成安装CocoaPods
sudo gem install cocoapods
或者(Mac OSX 10.11之后)
sudo gem install -n /usr/local/bin cocoapods
完成.png
完成安装.png
二. 为iOS项目添加CocoaPods管理库(使用)
1.新建一个项目ZLPodTest
2.找到项目文件路径
在终端输入cd+空格,然后拖动项目文件夹到终端,自动生成路径。
3. 创建并编辑Podfile文件(配置文件)
终端输入vim podfile 或者 pod init(推荐)
pod init
编辑文件,没有文件就自动在当前目录添加一个文件再编辑。
键盘输入 i,进入编辑模式,输入内容:
platform :ios, '8.0'
target “target名称” do
pod 'AFNetworking', '~> 3.1.0'
end
按Esc退出编辑,然后按Shift +冒号,输入wq退出文件编辑。
注意:键盘输入 :后,才能输入wq。回车后发现ZLPodTest项目总目录中多一个podfile文件
4.为项目导入第三方库和相关依赖库
终端输入:
pod install
然后耐心等待下载第三方库,如果文件大,可能要花长时间, 稍微等待一会, 终端会打印进度的.
查看项目根目录:
PS:这个时候现在打开项目不是点击 ZLPodTest.xodeproj了,而是点击 ZLPodTest.xcworkspace
打开项目后看到项目结构且测试一下:
5. 后续需要同时导入多个第三方
CocoaPods的基本安装及使用都详细的说明了,但还有一些补充,当需要同时导入多个第三方时候怎么办 ?
这就需要修改Podfile了,就是用vim编辑的那个保存在项目根目录中的文件,手动修改完了Podfile文件,需要重新执行一次pod install命令。
例如:
platform :ios
target 'ZLPodTest' do
pod 'MBProgressHUD', '~> 0.9.2'
pod 'MJRefresh', '~> 3.1.0'
end
6. 后续更新第三方
如果之前已经down 过相关的, 更新命令如下:
pod update --no-repo-update
三. 移除CocoaPods
- 编辑Podfile文件,清除里面所有库,然后终端输入:pod install。这时会清空第三方库和相关依赖库。
- 删除之前的4个文件,Podfile、Podfile.lock、Pods文件夹和.xcworkspace文件。
-
然后打开.xcodeproj,删除项目中的libpods.a和Pods.xcconfig引用。
TARGETS - Build Phases 删除有关pods的选项,至此完成删除。
四. 常见问题
1.如果我们下载大神们的项目demo(使用了pod管理) 用来学习, 直接运行报错如下时:
diff: /../Podfile.lock: No such file or directory
diff: /Manifest.lock: No such file or directory
error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.
解决方案:
在终端里输入 cd+空格 拖入你所需的项目,
也就是说使用终端切换到项目目录,然后重新在终端输入:pod install
重新打开项目, clean + build项目,运行有奇迹呦!
2.在使用cocoapod导入Swift第三方时出现这样的问题:
[!] Pods written in Swift can only be integrated as frameworks; add `use_frameworks!` to your Podfile or target to opt into using it.
安装oc的配置方法:
platform :ios, '8.0'
pod 'Alamofire', '~> 4.3.0'
end
苹果不允许建包含swift的静态库,不同于OC可以使用平台版本的语言版本。
解决方案:
针对Swift这种问题,可以增加这样的处理:use_frameworks!
platform :ios, '8.0'
pod 'Alamofire', '~> 4.3.0'
use_frameworks!
end
3.后续遇到其他问题,则陆续更新~
网友评论