一、创建本地开发版仓库
可以参考 Cocoapods管理本地代码上部分。
@我的印象笔记
二、创建服务端私有仓库
这里需要两个git仓库,一个存放源码,一个存放.podspec配置文件。
1、Pod 自动创建工程
可以用命令行自动完成创建库文件,测试工程,podspec的步骤。
终端输入
pod lib create TestPrivateCodeRepo
CoccoaPods 会问几个问题:
要使用的语言
是否需要样例工程
是否需要一个测试框架
是否需要基于 View 的测试
还有类的前缀
然后自动打开创建好的工程。
2、修改.podspec文件
cd 到 TestPrivateCodeRepo根目录下,修改TestPrivateCodeRepo.podspec文件配置,
例如TestPrivateCodeRepo.podspec修改为这样:
Pod::Spec.new do |s|
s.name = 'TestPrivateCodeRepo'
s.version = '0.2.0'
s.summary = 'cocoapods 私有仓库测试demo'
s.description = <<-DESC
cocoapods 私有仓库测试demo cocoapods 私有仓库测试demo cocoapods 私有仓库测试demo cocoapods 私有仓库测试demo cocoapods 私有仓库测试demo cocoapods 私有仓库测试demo
DESC
s.homepage = 'https://github.com/Joeyechang/TestPrivateCodeRepo'
s.license = { :type => 'MIT', :file => 'LICENSE' }
s.author = { 'changyou0730@gmail.com' => 'changyou0730@gmail.com' }
s.source = { :git => 'https://github.com/Joeyechang/TestPrivateCodeRepo.git', :tag => s.version.to_s }
# s.social_media_url = 'https://twitter.com/joeychang'
s.ios.deployment_target = '8.0'
s.source_files = 'TestPrivateCodeRepo/Classes/*.{h,m}'
s.requires_arc = true
# s.public_header_files = 'Pod/Classes/**/*.h'
# s.frameworks = 'UIKit', 'MapKit'
# s.dependency 'AFNetworking', '~> 2.3'
end
s.version s.homepage s.source s.source_files 要重点关注下,别配置错了。
3、push文件,并打上标签
将此版本资源文件push,并打上标签(标签用来pod install 指定的版本)
git add . //添加所有文件
git commit -m "describe" //放到缓存区准备push
本地git库是直接pod lib create TestPrivateCodeRepo生成的,相当于直接 git init出来的,还没有链接到远程库。
git remote add origin https://github.com/Joeyechang/TestPrivateCodeRepo.git
git pull <库地址> master
git status //看一下状态有东西要提交
git add .
git commit -m "describe"
git push origin master
git tag -m "tag describe" 0.1.0 //打标签
git push --tags //push 标签
本地验证podspec
pod lib lint
4、发布podspec
创建spec库,spec库就相当于一个配置文件库,直接在Github或Coding创建一个空白库就行了。
(这个是在测试工程根目录即TestPrivateCodeRepo.podspec所在目录下执行命令)
pod repo add TestSpecs 远程Spec库的git地址 //它的作用相当于创建一个空目录TestSpecs,在里面git clone 远程Spec库的git地址
cd 到TestPrivateCodeRepo根目录,验证podspec
pod lib lint TestPrivateCodeRepo.podspec
验证顺利的话将podspec发布
pod repo push TestSpecs TestPrivateCodeRepo.podspec
此时远程Spec库和本地~/.cocoapods/repos/TestSpecs路径下都得到了更新。
5、测试
新建工程》pod init >>编辑Podfile
source 'https://github.com/Joeyechang/MySpec.git'
source '我们自己的spec库.git'
use_frameworks!
target 'AnProject' do
pod 'TestPrivateCodeRepo'
end
最后,当所用TestSpecs有更新时执行 pod repo update TestSpecs,同步远程spec库到本地
参考: