Write in the first
在开发 OS X 和 iOS 应用程序中,CocoaPods 作为库依赖管理工具就是一把利器。
相信很多开发者跟我当初一样,在 CocoaPods 的安装上踩了无数的坑,接着就是报错问题一个一个的来,以至于不能正常使用,更不用说活用的技巧了。作为【iOS 程序员】的我们,掌握CocoaPods 的使用是必不可少的基本技能了。
在「时间 & 知识 」有限内,总结的文章难免有「未全、不足 」的地方,还望各位好友指出,以提高文章质量。
目录:
- CocoaPods 相关介绍
- CocoaPods 安装
- 开始使用
- 安装过程中报错问题解决
- 指令补充
- CocoaPods 均可参考的资料
Contents【相关介绍】
1. CocoaPods 是什么?
CocoaPods 是开发 OS X 和 iOS 应用程序的一个第三方库的依赖管理工具。利用 CocoaPods,可以定义自己的依赖关系 (称作 pods),并且随着时间的变化,以 及在整个开发环境中对第三方库的版本管理非常方便。
2. CocoaPods 背后的理念主要体现在两个方面
在工程中引入第三方代码 会涉及到许多内容。针对
Objective-C
初级开发者来说,工程文件的配置会让 人很沮丧。在配置
build phases
和linker flags
过程中,会引起许多人为因素的 错误,CocoaPods 简化了这一切
,它能够自动配置编译选项,而且涉及到第三方库的更新升级也可以通过CocoaPods
进行手动管理更新。
3. CocoaPods 的原理
它是将所有的依赖库都放到另一个名为
Pods
项目中,然后 让主项目依赖 Pods 项目,这样,源码管理工作都从主项目移到了Pods项目中。Pods项目最终会编译成一个名为
libPods.a
的文件,主项目只需要依赖这个.a
文件即可。对于资源文件,
CocoaPods
提供了一个名为Pods-resources.sh
的bash 脚本
,该脚本在每次项目编译的时候都会执行,将第三方库的各种资源文件复制到目 标目录中。CocoaPods
通过一个名为Pods.xcconfig
的文件来在编译时设置所有的依赖 和 参数。
CocoaPods
是用ruby
实现的,要想使用它首先需要有ruby
的环境。幸运的是 OS X系统 默认已经可以运行ruby
了。但是有时候ruby
版本过低是无法正常支持CocoaPods
的使用,所以需要先安装更新升级rvm
和ruby
。
3. Homebrew、Rvm、Ruby 简介
官网及相关链接
【Rvm 官网】:https://www.rvm.io/
【Ruby 官网】:https://rubygems.org/
【Rvm 安装指南】:https://rvm.io/rvm/install
【Homebrew 官网】:http://brew.sh/index_zh-cn.html
【ruby 镜像 - taobao】:https://ruby.taobao.org/
【ruby 镜像 - china】:https://gems.ruby-china.org/Homebrew 介绍
Homebrew
是一个软件包管理器,用于在mac
上安装一些os x
上没有的UNiX
工具;类似于360软件管理器。Rvm 介绍
Rvm
全称Ruby Version Manager
,是安装和管理ruby
的一种工具。摘录:
RVM is a command-line tool which allows you to easily install,
manage, and work with multiple ruby environments from interpreters to sets of gems.Ruby 介绍
Ruby 是一种面向对象的脚本语言,简单易用,功能强大。能跨平台和可移植性好等等。其实就是种脚本语言。
Ruby 的软件源使用的是亚马逊的云服务,国内网络环境下载时可能会出现各种不稳定和超时,
所以自带的需要翻墙,可以将 官方ruby
源 替换成国内 淘宝ruby
源(https://ruby.taobao.org/ )
或者是由China ruby
源 (https://gems.ruby-china.org/ )。
据消息了解,2016.06【taboo Gems】停止维护了,建议使用 【ruby-china】源。
Installation【CocoaPods 安装】
第一步:检查安装 rvm 环境
提示:不管需不需要升级 ruby,rvm 可以让你拥有多个版本的Ruby,并且可以在多个版本之间自由切换。如果已经安装过跳到第2步。
|
|
第二步:检查 ruby 版本环境
提示:CocoaPods 目前安装需要Ruby的版本大于2.2.2,不然会报错:Error installing pods: activesupport requires Rubyversion >= 2.2.2
。目前Mac系统默认自带是2.0,所以需要升级。
第三步:更换源
我们需要来修改更换源(由于国内被墙)所以要把源切换至 ruby-china
在终端执行以下命令
第四步:安装Cocoapods
提示:安装 CocoaPods( sudo 表示管理员执行指令 )( 此处需要输入一次密码 )
这里有几种选择,你看心情来吧 ~
选择一:
选择二:
先随便搜索一个第三方库,如:
选择三:
验证是否安装成功
Getting Started【开始使用】
第一步 :
我们先创建这个神奇的 PodFile
。在终端中进入(cd命令)你项目所在目录,然后在当前目录下,利用vim创建Podfile
第二步 :
键盘输入 i
,进入 Podfile 配置文件的编辑模式
Podfile 配置文件固定语句:
|
|
按一次 Esc
按键退出编辑模式
这时候,你会发现你的项目目录中,出现一个名字为Podfile
的文件,而且文件内容就是你刚刚输入的内容。注意,Podfile
文件应该和你的工程文件.xcodeproj
在同一个目录下。
现在,你就可以利用CocoPods下载AFNetworking
等类库了。还是在终端中的当前项目目录下,运行以下命令:
注意:
1、以后打开项目就用 CocoaPodsDemo.xcworkspace
打开,
而不是之前的.xcodeproj
文件。否则无法关联pod下来的类库。
2、每次更改了Podfile
文件,你需要重新执行一次pod update
命令。
3、CocoaPods
在执行pod install
和pod update
时,会默认先更新一次CocoPods
的spec
仓库索引。使用--no-repo-update
参数可以禁止其做索引更新操作
4、验证框架是否支持cocoaPods
提供:在线搜索验证在线,能搜出说明支持 https://cocoapods.org
5、cocoaPods
隐藏目录
- 前往—>个人—>.cocoapods
- .cocoapods/repos/master/Specs放着所有第三方库的索引文件,如下图
技巧:如果master/Specs下载不成功,试着,手动拷贝这个目录试试
6、【卸载 CocoaPods 安装】和【回退到指定 CocoaPods 版本】
7、查看 CocoaPods 下载进度
还有一点需要注意,pod setup
在执行时,会输出Setting up CocoaPods master repo
,但是会等待比较久的时间。这步其实是 Cocoapods
在将它的信息下载到 ~/.cocoapods
目录下,如果你等太久,可以试着 cd
到那个目录,用du -sh *
来查看下载进度
8、在使用时,导入第三方库,应是< >
9、使用pod install
命令安装框架后的大致过程:
CocoaPods【安装过程中报错问题解决】
说明:此部分所列举的问题均是在执行相关指令时出现的报错
1、Rvm 环境搭建
解决方案连接:https://segmentfault.com/q/1010000004276750
|
|
解决方案连接1:http://stackoverflow.com/questions/35228481/error-running-rvm-make-install
解决方案连接2:http://www.th7.cn/Program/Ruby/201609/966343.shtml
|
|
2、Ruby 环境搭建
待总结 ~ ~
欢迎你补充,我会及时加上,相互学习,我们的分享会让很多人少踩一些坑,少花费一点时间,学习到实用的知识。
可下面留言~
3、CocoaPods 配置使用
解决方案连接1:https://zhidao.baidu.com/question/2205760733872673348.html
解决方案连接2:http://blog.csdn.net/zhangjunjian127/article/details/47954981
instruction【指令补充】
1、Rvm 指令库
2、gem 指令库
3、pod 指令库
CocoaPods 均可参考的资料
01 rvm、Ruby环境和CocoaPods安装使用及相关报错问题解决
02 2017最新CocoaPods安装
03 CocoaPods: pod search 搜索类库失败的解决办法
04 整理Cocoapods安装
05 cocoa pods安装报错
06 新手安装CocoaPods
07 安装cocoaPods以及在OSX10.11.5问题总结
08 CocoaPods安装过程与问题解决
09 Cocoapods 的安装和使用以及问题解决
10 最新cocoapods步骤(主要针对Xcode8以上)
11 创建CocoaPods的制作过程
12 CocoaPods新版使用,遇到的那些坑!
13
Write in the last
附上一张图:
期待
- 如果在阅读过程中遇到 error || new ideas,希望你能 messages 我,我会及时改正谢谢。
- 点击右上角的 喜欢 和 订阅Rss 按钮,可以收藏本仓库,并在 Demo 更新时收到邮件通知。