赞
踩
CocoaPods不仅是一个将开源代码添加到项目的很棒的工具,同时也可以做到跨项目分享组件。你使用一个私有的Spec Repo就能做到这些。
只需要几个简单步骤就能给你的项目做好一个私有的pods设置:首先为这些pods创建一个代码仓库,然后让Cocoapods知道在哪里能找到它,然后添加这些podspecs文件到这个代码仓库。
Create a Private Spec Repo
如果你需要使用自己的一些pods库的集合的话,建议你创建私有的spec repo,一个只有你们的这些库的使用者才能访问到的私有库。
你不需要fork Cocoapods/Specs主repo,只需要确认你们的团队成员都可以正常访问就行,没有公开的必要。
添加你的私有Repo到你的CocoaPods
$ pod repo add REPO_NAME SOURCE_URL
注意:在你创建本地pods库的时候,需要检查你推送到源地址的权限。
你可以使用下面两条指令去检查你的安装是否完成:
$ cd ~/.cocoapods/repos/REPO_NAME
$ pod repo lint .
添加你的Podspec到你的repo
确认你打了适当的tag和version标记,然后执行:
$ pod repo push REPO_NAME SPEC_NAME.podspec
执行这个命令的时候,会执行对.podspec文件的语法检查,请注意你的podspec文件配置细节部分。
你的repo的结构应该像下面一样:
.
├── Specs
└── [SPEC_NAME]
└── [VERSION]
└── [SPEC_NAME].podspec
在工程中使用私有repo
私有repo的使用和官方库一样,也是基于Podfile的,你可以在你工程的Podfile文件中指定spec仓库源地址就可以了:
source 'URL_TO_REPOSITORY'
创建一个私有的Spec Repo库
$ cd /opt/git
$ mkdir Specs.git
$ cd Specs.git
$ git init --bare
添加repo到你的CocoaPods
$ pod repo add artsy-specs git@github: artsy/Specs.git
检查安装是否成功:
$ cd ~/.cocoapods/repos/artsy-specs
$ pod repo lint .
添加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。你的repo看起来就会变成这样:
.
├── Specs
└── Artsy+OSSUIFonts
└── 1.1.1
└── Artsy+OSSUIFonts.podspec
你可以参看这个Podfile的例子去添加自己的repo。
移除私有Repo
$pod repo remove [name]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。