上一章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 = true
s.source_files = 'Pod/Classes'
s.resources = 'Pod/Assets/*'
s.frameworks = 'UIKit', 'CoreText'
s.module_name = 'Artsy_UIFonts'
end
保存你的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]
评论前必须登录!
注册