CocoaPods 不仅是向项目添加开源代码的绝佳工具,也是跨项目共享组件的绝佳工具。你可以使用私有 Spec Repo 来执行此操作。
为项目设置私有 Pod 需要几个步骤;为其创建私有存储库,让 CocoaPods 知道在哪里可以找到它,以及将 Podspec 添加到存储库中。
<1. 创建私有 Spec Repo
若要使用你的私有 Pod 集合,我们建议创建你自己的 Spec repo。这应该位于所有将使用该 repo 的人均可访问的位置。
你不必 fork CocoaPods/Specs 主 repo。确保团队中的每个人都可以访问此 repo,但它不必是公开的。
<2. 将你的私有 Spec Repo 添加到你的 CocoaPods 安装中
$ pod repo add REPO_NAME SOURCE_URL
若要检查你的安装是否成功且已准备就绪
$ cd ~/.cocoapods/repos/REPO_NAME
$ pod repo lint .
<3. 将你的 Pod 的 Podspec 添加到你的 repo 中
确保你已适当地标记和设置源版本,然后运行
$ pod repo push REPO_NAME SPEC_NAME.podspec
这将运行 pod spec lint
,并处理在你的私有 repo 中设置规范的所有小细节。
你的 repo 的结构应反映这一点
.
├── Specs
└── [SPEC_NAME]
└── [VERSION]
└── [SPEC_NAME].podspec
<就是这样!
你的私有 Pod 已准备好用于 Podfile 中。你可以使用 source
指令在 Podfile 中使用规范存储库,如下例所示
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. 将你的 repo 添加到你的 CocoaPods 安装中
使用服务器上你的 repo 的 URL,使用以下内容添加你的 repo
$ pod repo add artsy-specs https://github.com/artsy/Specs.git
检查你的安装是否成功且已准备就绪
$ cd ~/.cocoapods/repos/artsy-specs
$ pod repo lint .
<3. 将 Podspec 添加到仓库
创建 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" => "[email protected]" }
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 并添加到仓库
pod repo push artsy-specs ~/Desktop/Artsy+OSSUIFonts.podspec
假设您的 Podspec 验证通过,它将被添加到仓库。仓库现在看起来像这样
.
├── Specs
└── Artsy+OSSUIFonts
└── 1.1.1
└── Artsy+OSSUIFonts.podspec
查看此 Podfile,了解仓库 URL 的包含方式
<如何移除私有仓库
pod repo remove [name]