上一章CocoaPods教程请查看:创建一个CocoaPods?
CocoaPods不仅是向项目中添加开源代码的好工具,也是跨项目共享组件的好工具。你可以使用私有的Spec Repo来实现这一点。
有几个步骤,以获得一个私有Pod设置,为你的项目,为它们创建一个私有存储库,让cocoapod知道在哪里可以找到它,并将podspecs添加到存储库中。
1、创建一个私有的规范仓库Spec repo为了处理你收集的私有pod,我们建议你创建自己的Spec repo。这应该是一个位置,所有人都可以访问谁将使用。
确保你团队中的每个人都可以访问此仓库,但它不需要公开。
2、将你的私人仓库添加到CocoaPods安装中
$ pod repo add REPO_NAME SOURCE_URL
注意:如果你计划在本地创建pods,你应该有对SOURCE_URL的push访问权
检查你的安装是否成功,并准备好:
$ cd ~/.cocoapods/repos/REPO_NAME
$ pod repo lint .
3、将你的Podspec添加到你的repo中确保你已经标记和版本化你的源代码,然后运行:
$ pod repo push REPO_NAME SPEC_NAME.podspec
这将运行pod spec lint,并照顾到所有的小细节,以在你的私有仓库中建立规范。
你的仓库的结构应该反映这一点:
.
├── Specs
└── [SPEC_NAME]
└── [VERSION]
└── [SPEC_NAME].podspec
完成创建你的私有Pod已准备好在Podfile中使用,你可以在你的Podfile中使用spec存储库和source指令,如下面的示例所示
source 'URL_TO_REPOSITORY'
一个例子1、创建一个私有的Spec Repo在服务器上创建一个repo。这可以在Github或你自己的服务器上实现,如下所示
$ cd /opt/git
$ mkdir Specs.git
$ cd Specs.git
$ git init --bare
(本示例的其余部分使用https://github.com/artsy/Specs中的repo)
2、将你的仓库添加到CocoaPods安装中使用你的服务器上的仓库的URL,添加你的仓库使用
$ pod repo add artsy-specs https://github.com/artsy/Specs.git
检查您的安装是否成功并,准备好:
$ cd ~/.cocoapods/repos/artsy-specs
$ pod repo lint .
3、将你的Podspec添加到你的repo中创建你的Podspec
cd ~/Desktop
touch Artsy+OSSUIFonts.podspec
Artsy+OSSUIFonts.podspec应该在你选择的文本编辑器中打开。典型的内容是
Pod::Spec.new do |s|
s.name= "Artsy+OSSUIFonts"
s.version= "1.1.1"
s.summary= "The open source fonts for Artsy apps + UIFont categories."
s.homepage= "https://github.com/artsy/Artsy-OSSUIFonts"
s.license= 'Code is MIT, then custom font licenses.'
s.author= { "Orta" => "orta.therox@gmail.com" }
s.source= { :git => "https://github.com/artsy/Artsy-OSSUIFonts.git", :tag => s.version }
s.social_media_url = 'https://twitter.com/artsy's.platform= :ios, '7.0'
s.requires_arc = trues.source_files = 'Pod/Classes'
s.resources = 'Pod/Assets/*'s.frameworks = 'UIKit', 'CoreText'
s.module_name = 'Artsy_UIFonts'
end
【创建私有Pod仓库 – CocoaPods教程】保存你的Podspec并添加到repo
pod repo push artsy-specs ~/Desktop/Artsy+OSSUIFonts.podspec
假设你的Podspec是有效的,它将被添加到repo中。仓库现在看起来是这样的
.
├── Specs
└── Artsy+OSSUIFonts
└── 1.1.1
└── Artsy+OSSUIFonts.podspec
如何删除私有仓库?
pod repo remove [name]
推荐阅读
- Podfile语法中文参考文档 – CocoaPods教程
- 创建一个CocoaPods – CocoaPods教程
- CocoaPods测试 – CocoaPods教程
- CocoaPods常见问题和解决办法 – CocoaPods教程
- Podfile文件解释和使用 – CocoaPods教程
- CocoaPods使用详细步骤解释 – CocoaPods教程
- pod install和pod update – CocoaPods教程
- 安装和使用CocoaPods – CocoaPods教程
- Objective-C内存管理详细解释 – Objective-C开发教程