最近在看唐巧先生著的《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 SOURCES
http://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的文件(
- $ cd /Users/wangzz/Desktop/CocoaPodsTest
- $ 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的文件再编译时设置所有的依赖和参数