使用Cocoapods实现模块开发

为什么要采用模块化方式进行开发

模块化开发的优势:
1.最为重要的一个优势在于便于各个子模块的管理,将子模块的变化限制在该模块之内,模块变动不影响主模块或其他模块,并且能够轻易的回退到子模块的某个版本上去。
2.大幅减少合并工程耗费的时间,减少合并.xcodeproj时产生的冲突。
3.每个模块可以打包成独立的App,一旦一个模块开发完成,能够及早交付测试人员进行测试,这样既提高了测试人员和开发人员之间的协作效率,又提高了项目交付的质量。
4.在各个子模块之间通过基于URL的方式进行跳转和调用,实现了一定程度上的解耦。

安装CocoaPods

CocoaPods是一个Ruby Gem,因为直接访问RubyGem速度非常慢,建议先替换成淘宝镜像

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

安装CocoaPods

$ sudo gem install cocoapods

管理第三方库

创建Podfile

在项目根目录下创建Podfile,下面是一个Podfile的例子:

platform :ios, '9.0'
 
target "MyApp" do
  pod 'AFNetworking'
 end

platform: 可以指定平台的信息和deployment target的版本

target: 可以根据不同的target来引入不同的pod

pod: 引入依赖库

pod 'AFNetworking'  -- 引入最新版本

pod 'AFNetworking', '0.9'  -- 引入特定的版本

pod 'AFNetworking', '>0.9'> -- 任何大于0.9的版本

pod 'AFNetworking', '>=0.9'> -- 任何大于等于0.9的版本

pod 'AFNetworking', '<0.9'> -- 任何小于0.9的版本

pod 'AFNetworking', '<=0.9'> -- 任何小于等于0.9的版本

pod 'AFNetworking', '~>0.9'> -- 任何介于0.9到1.0的最新版本,不包含1.0

pod 'AFNetworking', :path => '~/Documents/AFNetworking'  -- 使用本地路径引入

pod 'AFNetworking', :git => 'https://github.com/gowalla/AFNetworking.git', :tag => '0.7.0'  -- 使用git库引入

pod 'JSONKit', :podspec => 'https://example.com/JSONKit.podspec'  -- 使用外部的podspec来引入

安装Pods

安装pods

$ pod install

更新pods

$ pod update

install和update的区别:假如使用 pod 'SVProgressHUD',没有指定版本。使用pod install,如果Pods中存在SVProgressHUD,则直接使用。使用pod update,则会保证更新SVProgressHUD到最新版本。

install或update速度通常很慢,因为每次执行的时候都需要同步一下CocoaPods Specs,这个有几百兆的大小,同步一次非常耗时。所以如果你使用的第三方库并不是经常更新,则不用经常更新那个Specs库。可以使用以下命令:

$ pod install --verbose --no-repo-update
$ pod update --verbose --no-repo-update

执行完install或者update命令后,就可以使用.xcworkspace打开项目。

你可能感兴趣的:(使用Cocoapods实现模块开发)