创建私有Pod仓库 – CocoaPods教程

上一章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]

    推荐阅读