CocoaPods 不仅可以将开源代码添加到项目中,而且还可以跨项目共享组件。 您可以使用私人 Spec Repo 来执行此操作。
这里有几个简单的步骤可以帮助你设置私有的 Pods . 首先为它创建一个私有的 repository, 让 CocoaPods 知道在哪里找到它, 并将 podspecs 添加到 repository。
1.> 创建一个 Private Spec Repo
要处理您的 private pods ,我们建议您创建自己的 Spec repo。 这应该放在所有使用 repo 的人都可以访问的位置。
你不需要 fork CocoaPods / Specs Master repo。 确保团队中的每个人都可以访问此 repo,但不需要公开。
2.> 将您的 Private Repo 添加到您的 CocoaPods installation.
$ pod repo add REPO_NAME SOURCE_URL
注意:如果您打算在本地创建 pods ,则应该有权访问SOURCE_URL
要检查您的安装是否成功并准备就绪:
$ cd ~/.cocoapods/repos/REPO_NAME
$ pod repo lint .
3.> 将您的Podspec添加到您的 repo
确保你已经正确标记和版本化你的源代码,然后运行:
$ pod repo push REPO_NAME SPEC_NAME.podspec
这将运行pid spec lint
,并在您的 private repo 中处理所有关于设置规范的小细节。
你的 repo 结构应该反映这一点:
.
├── Specs
└── [SPEC_NAME]
└── [VERSION]
└── [SPEC_NAME].podspec
以上
您的私有Pod已准备好在Podfile中使用。 您可以在Podfile中使用带有source指令的规格存储库,如以下示例所示:
source 'URL_TO_REPOSITORY'
一个例子
1.>创建一个 Private Spec Repo
可以在 Github 或者自己搭建的服务器上创建一个 repo.
$ cd /opt/git
$ mkdir Specs.git
$ cd Specs.git
$ git init --bare
(本示例的其余部分使用https://github.com/artsy/Specs上的repo)
2.> 将您的 repo 添加到您的 CocoaPods installation
在你的服务器上使用你的仓库的URL,使用添加你的仓库
$ pod repo add artsy-specs git@github: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" => "[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并添加到 repo
pod repo push artsy-specs ~/Desktop/Artsy+OSSUIFonts.podspec
假设您的Podspec验证,它将被添加到 repo。 repo 现在看起来像这样
.
├── Specs
└── Artsy+OSSUIFonts
└── 1.1.1
└── Artsy+OSSUIFonts.podspec
See this Podfile for an example of how the repo URL is included