私有 Pod

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]

<< 外部资源