文章记录了Cocoapods使用中的一些注意事项,所需资料均来源互联网和官方文档,如有不明确的地方欢迎指出。Cocoapods官网
以下只是一部分,后续会继续更新,敬请关注~
Podfile
podfile是一个规范,它描述了一个或多个Xcode工程文件的目标文件(targets)所使用到的各种依赖关系。所以在使用之前我们需要生成一个podfile文件:
$ pod init
然后可以将使用到的依赖库的pod信息添加到依赖文件中去,这里以添加Alamofire依赖库到工程目标文件中为例:
target 'MyApp' do
use_frameworks!
pod 'Alamofire','~>3.0'
end
注:Alamofire是swift版本的AFNetworking
高级使用
下面例子展示了如何将一个podfile关联到一个app和它的测试用例包中,以及如何同时引用官方spec依赖库和私有spec依赖库:
source 'https://github.com/CocoaPods/Specs.git'
source 'https://github.com/Artsy/Specs.git'
platform :ios, '9.0'
inhibit_all_warnings!
target 'MyApp' do
pod 'GoogleAnalytics', '~> 3.1'
#Has its own copy of OCMock
#and has access to GoogleAnalytics via the app
#that hosts the test target
target 'MyAppTests' do
inherit! :search_paths
pod 'OCMock', '~> 2.0.1'
end
end
post_install do |installer|
installer.pods_project.targets.each do |target|
puts target.name
end
end
注:多个目标文件共享一个pods,使用abstract_target,具体参考Cocoapods官网
熟悉指定 pod versions(依赖库版本)的一些规则,能帮助我们更好地引入和管理我们需要的依赖库
- 使用默认的最新版本
pod 'SSZipArchive'
- 使用指定版本号的依赖库
pod 'Objection','0.9'
- 使用逻辑运算符指定版本号
pod 'AFNetworking','> 2.0'//任何大于2.0的版本
pod 'ASINetworking','>= 0.1'//任何大于等于0.1的版本 - 常用逻辑运算符
'> 0.1' 任何高于0.1的版本
'>= 0.1' 任何高于0.1的版本,包含0.1版本
'< 0.1' 任何低于0.1的版本
'<= 0.1' 任何低于0.1的版本,包含0.1版本
'~> 0.1.2' 任何0.1.2到0.2的版本,包含0.1.2但不包含0.2,即0.1.2 =< version < 0.2
'~> 0.1' 0.1版本和任何介于0.1-1.0之间的版本,不包含1.0
'~> 0' 任何版本
更多使用请阅读:
cocoapods进阶
cocoapods更新篇
网友评论