iOS开发学习笔记一 —— CocoaPods

来源:互联网 发布:java 多条件排序 编辑:程序博客网 时间:2024/05/03 06:22

最近在看唐巧先生著的《iOS开发进阶》,此内容摘自此书,为方便个人记录与学习


Ruby版本管理

1.安装rvm

$ curl -L get.rvm.io | bash -s stable$ source ~/.rvm/scripts/rvm
  • 等待终端加载完毕,后输入:

rvm -v

如果能显示版本好则安装成功了。

第二步:安装ruby

  • 列出ruby可安装的版本信息

rvm list known
  • 安装一个ruby版本

rvm install 2.1.4

如果想设置为默认版本,可以用这条命令来完成

rvm use 2.1.4 --default 
  • 查看已安装的ruby

rvm list
  • 卸载一个已安装ruby版本

rvm remove 2.1.4

第三步:更换源

  • 查看已有的源

gem source

显示会如下:

CURRENT SOURCEShttp://rubygems.org/
  • 然后我们需要来修改更换源(由于国内被墙)所以要把源切换至淘宝镜像服务器 在终端执行以下命令

$ gem update --system$ gem uninstall rubygems-update$ gem sources -r http://rubygems.org/$ gem sources -a http://ruby.taobao.org



CocoaPods的安装

Mac下自带Ruby,直接使用ruby的gem命令即可下载安装

$ sudo gem install cocoapods
$ pod setup




CocoaPods的升级

sudo gem update --system





CocoaPods软件源替换

(ruby软件源使用rubygems.org因为使用亚马逊的云服务,所以被屏蔽了,需要更新一下ruby源,将官方的ruby源换成国内淘宝的源:

gem sources -- remove https://rubygems.rog/
gem sources -a http://ruby.taobao.org/

gem sources -l

pod setup执行时,会输出Setting up CocoaPods master repo,等待时间较长,这步其实是把他的信息下载到~/.cocoapods目录下,如果等太久可以试着cd到这个目录,用

du -sh *来查看下载进度)





CocoaPods镜像索引

所有项目的Podspec文件都托管在http://github.com/CocoaPods/Specs,第一次执行pod setup时,CocoaPods会将这些Podspec索引文件更新到本地的~/.cocoapods目录下(80M)左右,所以第一次更新时非常慢,甚至需要一个小时。(使用CocoaPods镜像会快很多)

将CocaoPods设置成使用gitcafe镜像:

pod repo remove master

pod repo add master https://gitcafe.com/akuandev/Specs.git

pod repo update

将以上代码中的https://gitcafe.com/akuandev/Specs.git替换成http://git.oschina.net/akuandev/Specs.git即可使用oschina上的镜像




CocaoPods的使用

使用时需要新建一个名为Podfile的文件(

  1. $ cd /Users/wangzz/Desktop/CocoaPodsTest  
  2. $ touch Podfile  
),以如下格式,将依赖的库名字依次列在文件中即可:

platform:ios

pod 'JSONKit',         '~>1.4'

pod 'Reachability'    '~>3.0.0'

pod 'ASIHTTPRequest'

pod 'RegexKitLite' 

然后讲编译号的Podfile文件放到项目根目录中,执行如下命令即可:

cd "项目跟目录路径"

pod install

1.使用CocoaPods生成的 *.xcworkspace来打开工程,而不是以前的 *.xcodeproj文件。
2.每次更改了Podfile文件,都需要重新执行一次pod update的命令





查找第三方库

如果不知道CocoaPods管理的库中是否有你想要的库,那么你可以通过pod search命     令进行查找

$ pod search json




关于.gitigonre

当执行pod install之后,除了Podfile外,CocoaPods还会生成一个名为Podfile.lock的文件,你不应该把这个文件加入到.gitignore中。因为Podfile.lock会锁定当前各依赖库的版本,之后即使多次执行pod install也不会更改版本,只有执行pod update才会改变Podfile.lock。再多人协作的时候,这样可以防止第三方库升级时造成大家各自的第三方库版本不一致。

CocoaPods官方文档:http:guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control




生成第三方库的帮助文档

如果你想让Cococapods帮你生成第三方库的帮助文档,并集成到Xcode中,那么用brew安装appledoc即可:
brew install appledoc 
关于appledoc它最大的优点是可以将帮助文档集成到Xcode中,这样你在敲代码的时候,按住Opt键单击类名或方法名,就可以显示出相应的帮助文档。



原理

Cocoapods的原理是将所有的依赖库都放到另一个名为Pods的项目中、然后让主项目Pods项目,这样,源码管理工作都从主项目移到了Pods项目中。下面是一些技术细市:   

1.Pods项目最终会编译成一个名为libPods.a的文件,主项目只需要依赖这个.a文件即可。

2.对于资源文件,CocoaPods提供了一个名为Pods-resources.sh的bash脚本,该脚本在每次项目编译的时候都会执行,讲第三方库的各种资源文件复制到目标目录中

3.CocoaPods通过一个名为Pods.xcconfig的文件再编译时设置所有的依赖和参数

0 0