CocoaPods的安装和简单使用
来源:互联网 发布:如何卸载网络打印机 编辑:程序博客网 时间:2024/05/30 04:18
一、CocoaPods简介
CocoaPods是iOS项目的依赖管理工具,该项目源码在Github上管理。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和第三方开源库的时间。
在使用CocoaPods之前,开发项目需要用到第三方开源库的时候,我们需要
(1)把开源库的源代码复制到项目中
(2)添加一些依赖框架和动态库
(3)设置-ObjC,-fno-objc-arc等参数
(4)管理他们的更新
在使用CocoaPods后,我们只需要把用到的开源库放到一个名为Podfile的文件中,然后执行pod install。Cocoapods就会自动将这些第三方开源库的源码下载下来,并且为我们的工程设置好响应的系统依赖和编译参数。
(5)使用CocoaPods带来的便利:
<1> 不用到入SDK所依赖的其他库文件 例如:libsqlite3,UIKit.framework等
<2> 无需修改MRC或ARC
<3> 不用把下载的文件导入工程
<4> 当库更新时无须删除重新继承
<5> 不用去网上下载
二、CocoaPods的原理
CocoaPods的原理是将所有的依赖库都放到另一个名为Pods的项目中,然后让主项目依赖Pods项目,这样,源码管理工作都从主项目移到了Pods项目中。Pods项目最终会编译成一个名为libPods.a的文件,主项目只需要依赖这个.a文件即可。
三、CocoaPods的安装
1、打开终端,移除现有 Ruby 默认源(因为ruby 的软件源 https://rubygems.org 使用的是亚马逊的云服务,所以被墙了,需要更新一下 ruby 的源,使用下面2行代码将官方的 ruby 源替换成国内淘宝的源)
$ gem sources --remove https://rubygems.org/$ gem sources -a https://ruby.taobao.org/
2、验证新源是否替换成功
$ gem sources -l
如果替换成功,则显示为:
*** CURRENT SOURCES ***https://ruby.taobao.org/
3、安装 CocoaPods
$ sudo gem install cocoapods$ pod setup
注意:苹果系统升级 OS X EI Capitan 后安装改为:
$ sudo gem install -n /usr/local/bin cocoapods$ pod setup
本人安装过程中遇到的问题如下:
(1)在执行$ sudo gem install cocoa pods
时,会有如下错误:
ERROR: Error installing cocoapods: activesupport requires Ruby version >= 2.2.2
原因分析:当前ruby的版本太低,所以需要对Ruby进行升级。这里使用RVM对Ruby进行升级,升级过程如下:
<1>安装 RVM
RVM:Ruby Version Manager,Ruby版本管理器,包括Ruby的版本管理和Gem库管理(gemset)
$ curl -L get.rvm.io | bash -s stable
等待一段时间后就可以成功安装好 RVM。
$ source ~/.bashrc $ source ~/.bash_profile
测试是否安装正常
& rvm -v
输出如下:
rvm 1.27.0 (latest) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
<2>用RVM升级Ruby
#查看当前ruby版本 $ ruby -v ruby 2.0.0#列出已知的ruby版本 $ rvm list known #安装ruby 2.2.4 $ rvm install 2.2.4
安装完成之后,通过 ruby -v 查看是否安装成功。
ruby 2.2.4p230 (2015-12-16 revision 53155) [x86_64-darwin14]
(2)在执行 $ pod setup 时,会一致卡在 Setting up CocoaPods master repo。
原因分析:此时 Cocoapods在将它的信息下载到 ~/.cocoapods里,因为要进行下载安装,而且目录比较大,所以需要等待一段时间。
此时可以新开一个终端窗口,然后 cd 到该目录里,用du -sh *命令来查看文件大小,每隔几分钟查看一次,这个目录最终大小是300M左右(不一定,有人的最终目录大小是100M或200M左右等),但是完成后一般会有如下提示:
(3)如果你的 gem 太老,可能也会有问题,可以尝试用如下命令升级gem:
$ sudo gem update --system
四、CocoaPods的初步使用
例如,利用CocoaPods,在项目中导入AFNetworking类库。
(1)为了确定AFNetworking是否支持CocoaPods,可以用CocoaPods的搜索功能验证一下。在终端中输入:
$ pod search AFNetworking
会在终端中看到关于AFNetworking类库的一些信息,如下:
说明AFNetworking是支持CocoaPods,所以可利用CocoaPods将AFNetworking导入项目中。
(2) 具体使用步骤(此处项目名称为“podTest“):
<1> cd 项目文件的位置;
<2> 在项目文件的根目录下,执行如下命令:
$ pod init
此命令会自动在项目文件的根目录下,自动创建一个Podfile文件。
打开后,内容如下:
# Uncomment this line to define a global platform for your project# platform :ios, '9.0'target 'podTest' do # Uncomment this line if you're using Swift or would like to use dynamic frameworks # use_frameworks! # Pods for podTest target 'podTestTests' do inherit! :search_paths # Pods for testing end target 'podTestUITests' do inherit! :search_paths # Pods for testing endend
然后,在其中添加一行代码
pod ‘AFNetworking’, ‘~>3.1.0’
添加后,Podfile的内容如下:
# Uncomment this line to define a global platform for your project# platform :ios, '9.0'target 'podTest' do # Uncomment this line if you're using Swift or would like to use dynamic frameworks # use_frameworks!pod ‘AFNetworking’, ‘~>3.1.0’ # Pods for podTest target 'podTestTests' do inherit! :search_paths # Pods for testing end target 'podTestUITests' do inherit! :search_paths # Pods for testing endend
<3> 执行如下命令:
$ pod install
<4> 此时在原项目的根目录下,会产生一个名为:podTest.xcworkspace的文件。此后就通过该文件来打开项目,以本例演示,打开podTest.xcworkspace文件后,项目的目录结构如下所示:
由上图可知,AFNetwoking已经成功导入项目了。
知识点补充:
(1)若执行 pod install 或 pod update 时,卡在了Analyzing dependencies不动,那么原因在于当执行以上两个命令的时,会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:
pod install –verbose –no-repo-update
pod update –verbose –no-repo-update
或者
pod install –no-repo-update
pod update –no-repo-update
(2)如果想在工程中,用双引号去引第三方库,需要做如下配置:
Build Settings —> Search Paths —> User Header Search Paths ,
双击这一行的最右侧,会弹出如下界面,然后点击左下角的”+”,左侧写入 ${SRCROOT},再将后面参数改为recursive即可:
参考文章如下:
CocoaPods的安装使用和常见问题
Mac上更新Ruby
- cocoapods的简单安装和使用
- CocoaPods的安装和简单使用
- cocoapods安装和简单使用
- CocoaPods的安装和使用
- cocoapods的安装和使用
- Cocoapods的安装和使用
- cocoapods的安装和使用
- cocoapods 的安装和使用
- cocoaPods的安装和使用
- CocoaPods的安装和使用
- cocoaPods 的安装和使用
- cocoaPods的安装和使用
- CocoaPods的安装和使用
- cocoaPods的安装和使用
- Cocoapods的安装和使用
- CocoaPods的安装和使用
- CocoaPods的安装和使用
- CocoaPods的安装和使用
- 基于opencv的肤色检测
- Android轻量存储值SharedPreference存世实例
- 编程5大算法总结--概念加实例
- Webstorm--修改 打开浏览器的 localhost地址为 任意地址
- centos安装redis2.8.x和phpredis2.2.x扩展
- CocoaPods的安装和简单使用
- C++中的erase方法
- CSS调试手机屏幕的适配方法
- 上传本地项目到github
- (OK) virtualbox networking problems in bridge mode
- Modern PHP
- Java Web开发Tomcat中三种部署项目的方法
- eclipse修改web项目部署路径
- Cg入门1:输入输出和语义