您的位置:首页 > 其它

下载安装CocoaPods

2015-09-15 12:06 489 查看
安装的前提在mac os x 系统,安装Xcode(它将帮你安装好UNIX环境需要的开发包)

一、安装RVM

$ cul -L http://get.rvm.io | bash -s stable




这个地方或许会询问你sudo管理员密码,同时也完成Homebrew安装依赖包,等一段时间后成功安装好RVM,结果如下:



载入RVM环境

$source ~/.rm/scripts/rm


验证是否安装正确

$ rvm -v


终端结果



二、用RVM安装Ruby环境

$ rvm install 2.0.0


在执行上述命令之后,过了一段时间出现

No binary rubies available for: osx/10.9/x86_64/ruby-2.0.0-p643.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
Checking requirements for osx.
Installing requirements for osx.
Updating system....


之后输入

$ rvm help mount


稍等一段时间后安装完成,终端的输入过程及结果如下:





2.0.2是安装的版本号,使用2.0.0版本前提是有用过rvm install安装过那个版本

安装之后测试是否正确

$ ruby -v


结果 :ruby 2.0.0p643 (2015-02-25 revision 49749) [x86_64-darwin13.4.0]



显示这个结果是因为Ruby默认源使用的是CocoaPods.org,国内访问是有问题的,方案是替代成淘宝,

查看ruby的镜像源命令行:

$ gem sources -l


删除旧地址:

$  gem sources --remove https://rubygems.org/


执行结果:

https://rubygems.org/ removed from sources


添加新地址输入:

$ gem sources -a http://ruby.taobao.org/[/code] 
执行结果:

http://ruby.taobao.org/ added to sources


验证是否更改正确命令:

$ gem sources -l


执行结果:

*** CURRENT SOURCES ***
 http://ruby.taobao.org/


话外:如果不更改Ruby的默认源会出现这样的错误,提示安装连接地址出错,如下图



三、安装CocoaPods

$ sudo gem install cocoapods


需要输入sudo密码,输入之后开始安装,需要浪费一些时间,完成安装之后需要使用CocoaPods

四、使用CocoaPods(主要目的)

1、创建Podfile文件,在项目工程里面创建一个名字为Podfile的文件,用命令行cd到当前目录下,输入命令:

$ touch Podfile


输入:

$ vi Podfile


进入文件,输入i编辑,或者直接输入:

$ vim Podfile


在当前目录下生成文件如下(当前是把Podfile文件放在根目录下)



2、编辑Podfile文件

根据需求,我们可以再Podfile文件写入所用到的第三方,以SBJson,AFNetworking,Reachability三个库为例子

写入

platform :ios
pod 'Reachability',  '~> 3.0.0'
pod 'SBJson', '~> 4.0.0'
platform :ios, '7.0'
pod 'AFNetworking', '~> 2.0'




按一下esc 然后输入(:wq!)或者:wq 保存退出

3、执行导入命令

准备工作完成后,开始导入第三方库(在当前目录下,导入)

$ pod install


打印结果

Analyzing dependencies

CocoaPods 0.38.0.beta.2 is available.
To update use: `gem install cocoapods --pre`
[!] This is a test version we'd love you to try.

For more information see http://blog.cocoapods.org and the CHANGELOG for this version http://git.io/BaH8pQ. 
Downloading dependencies
Installing AFNetworking (2.5.4)
Installing Reachability (3.0.0)
Installing SBJson (4.0.2)
Generating Pods project
Integrating client project

[!] Please close any current Xcode sessions and use `XXXXX.xcworkspace` for this project from now on.


说明pod install 命令行执行成功,可以看到再工程demo的根目录下多出了三个文件,xxx.xcworkspace、Podfile.lock和pods目录



可以看到在命令行的最后一次,提示你 关闭当前Xcode,使用xxx.xcworkspace文件打开,提示我们现在用CocoaPods, xcworkspace开发。

4、对于工程发生的变化,

对于工程发生的变化,有几点需要说明:

第三方库会被编译成静态库供我们正真的工程使用

CocoaPods会将所有的第三方库以target的方式组成一个名为Pods的工程,该工程就放在刚才新生成的Pods目录下。整个第三方库工程会生成一个名称为libPods.a的静态库提供给我们自己的CocoaPodsTest工程使用。

我们的工程和第三方库所在的工程会由一个新生成的xcworkspace管理

为了方便我们直观的管理工程和第三方库,CocoaPodsTest工程和Pods工程会被以workspace的形式组织和管理,也就是我们刚才看到的CocoaPodsTest.xcworkspace文件。

原来的工程设置已经被更改了,这时候我们直接打开原来的工程文件去编译就会报错,只能使用新生成的workspace来进行项目管理。

打开CocoaPodsTest.xcworkspace,界面如下:



提示我们添加第三方的头文件,然后再执行编译操作成功!

除此之外的错误是 我是在项目代码已经进展几步后才安装使用Cocoapods的,所以执行编译的时候 出现一些 linker command failed with exit code 1错误,网络上查询





删除重复文件之后 执行编译正常

[b]总结[/b]

以上是第一次使用Cocoapods的情况下,再次添加第三方库使用Cocoapods的时候,直接在pofile文件里写入需要引入的第三方库和,可以申请不同的版本号

pod 'xx','~>1.1'


对于那些不在Cocoapods公共git仓库中的库,你可以用任何一个Git, Mercurial或者SVN仓库取代,并且还可以指定具体的commit, branch或者tag。

pod 'Y',:git =>'http://':commit =>'版本号'


一旦申请完成,可以写安装指令

$pod install


安装过程中,CocoPods会使用递归来分析所有的需求,并且建立一个代码相关性的图,最后将Podfile序列化为Podfile.lock

比如,如果两个库都需要使用AFNetworking,CocoaPods会确定一个同时能被这两库使用的版本,然后将同一个安装版本链接到两个不同的库中。

CocoaPods会创建一个新的包含之前安装好的静态库Xcode项目,然后将它们链接成一个新的libPods.a target。你原有的项目将会依赖这个新的静态库。一个xcworkspace文件会被创建,从此之后,你应该只打开这个xcworkspace文件来进行开发。

反复使用pod install命令,只会让CocoaPods重复以上步骤,重新安装这些库。所以,当你需要升级它们时,请使用以下命令:

$ pod update


初次安装pod 完成之后一般需要在 target-Build Settings下修改“User Header Search Paths”项,新增${SRCROOT}并选择recursive 修改后才能够在项目中使用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: