0 简介
CocoaPods是iOS最常用的类库管理工具。
解决问题:
a.第三方开源类库
大多数有名的第三方类库都支持CocoaPods,如SDWebImage,AFNetworking,Masonry等。
b.类库依赖层级多
部分第三方库必须依赖其他的类库,一个一个加入是不现实的,采用Pod可以很好的解决这个问题。
c.集合项目公用组件
同一个团队的多个项目工程,可以创建私有Pod类库,集合公用组件。
1 环境:ruby
查看一下ruby是否安装好:
ruby -v
ruby 2.2.4p230 (2015-12-16 revision 53155) [x86_64-darwin15]
2 安装cocoapods
sudo gem install cocoapods
按照提示一步一步来就可以,等不了多久的。
3 创建Podfile
进入工程目录(可以直接拖拽文件夹到终端),创建Pod文件
touch Podfile
基本文件结构:
platform :ios, '7.0'
target 'XXXPod_Example' do
pod 'XXXPod', :git => 'ssh://git@xxxxxxx'
end
注:
platform,指名Pod最低支持的系统版本号;
target:引入类库的Target
pod:引入类库的名字和文件地址
pod 的格式自己查吧,一搜一大把。
4 引入第三方工程
以SDWebImage为例:
a.引入类库前先查询是否是CocoaPod支持的第三方类库:
pod search SDWebImage
b.如果成功会打出SDwebImage支持的类库
写入Podfile文件
pod 'SDWebImage','3.8.1'
c 安装Pod类库
pod install
5 引入本地类库
文件就放在工程目录下面的类库。
写入Podfile文件
pod 'XXXPod', :path => 'XXXPath'
XXXPath
是以Podfile为参照的相对路径。
6 引入GIT类库
一般用于自己写的公共组件:
写入Podfile文件
pod 'XXXPod', :git => 'ssh://git@xxxpath', :commit => ‘000000'
这里最好把commit的编号加上。
7 常用Pod命令
pod install
pod update
pod repo update
pod install --verbose --no-repo-update
8 创建一个私有类库
这里一般都是指:静态库(Static Library)
老方法是纯手工(都是体力活,不推荐)
流程:Xcode中创建一个Cocoa Touch Static Library=>
创建Podfile文件=>
执行pod install
CocoaPod命令行直接创建(快捷)
例如:XXXPod作为项目名。
pod lib create XXXPod
Would you like to provide a demo application with your library? [ Yes / No ]
yes
Which testing frameworks will you use? [ Specta / Kiwi / None ]
none
Would you like to do view based testing? [ Yes / No ]
No
What is your class prefix?
XX
创建后在
XXXPod文件夹下有Assets文件夹和Classes文件夹,分别对应资源文件和.h/.m文件。
打开
XXXPod.podspec,配置一下就可以了
Pod::Spec.new do |s|
s.name = '
XXXPod'
s.version = '0.1.0'
s.summary = 'A short description of
XXXPod.'
s.description = <<-DESC
TODO: Add long description of the pod here.
DESC
s.homepage = 'https://github.com/<GITHUB_USERNAME>/
XXXPod'
s.license = { :type => 'MIT', :file => 'LICENSE' }
s.author = { 'XXX' => 'XXX@gmail.com' }
s.source = { :git => 'https://github.com/<GITHUB_USERNAME>/
XXXPod.git', :tag => s.version.to_s }
# s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'
s.ios.deployment_target = '7.0'
s.source_files = '
XXXPod/Classes/**/*'
end
其他的都自己填,
s.source_files = '
XXXPod/Classes/**/*'
这里是重点,指明需要加入的文件的相对路径(参照创建Pod的根目录) ,可以筛选文件
*.{h,m}。
创建了过后就可以push到git,开始coding。