CocoaPods私有库的创建
一. 创建版本库
首先,我们要创建一个像master一样的存放版本描述文件的Git仓库,因为是私人Git仓库,我选择了OSChina来创建自己的石油仓库(因为是免费的😁),当然你也可以选择在GitHub上创建**($7/month)**。
接下来,我将以OSChina为例来创建自己的私有库
- 创建版本描述仓库

版本库名字为SYXRepo,创库状态要设为私有。
打开终端,将这个远程私有库添加到本地。
$ pod repo add SYXRepo https://gitee.com/Yun_S/SYXRepo.git
打开文件夹 ~/.cocoapods/repos,你可以发现repos文件夹下增加了一个SYXRepo的库。

二. 创建代码库
现在,我们回到OSChina来创建私人代码库。
接下来,将仓库克隆到本地,添加我们的代码文件,仓库名.podspec描述文件,如下图所示:

.podspec 文件是我们代码库的pod描述文件,可以通过pod指令创建空白模板:
$ pod spec create c
或者直接拷贝下面的模板进行修改(强烈建议)
Pod::Spec.new do |s|
s.name = "PrivatePodsDemo1" # 项目名称
s.version = "1.0.0" # 版本号 与 你仓库的 标签号 对应
s.summary = "私人pod代码" # 项目简介
s.license = "MIT" # 开源证书
# s.license = { :type => "MIT", :file => "FILE_LICENSE" }
s.homepage = "https://gitee.com/Yun_S" # 仓库的主页
s.source = { :git => "https://gitee.com/Yun_S/PrivatePodsDemo1.git", :tag => "#{s.version}" }#你的仓库地址,不能用SSH地址
s.source_files = "PrivatePodsDemo1/classes/*.{h,m}" # 你代码的位置, PrivatePodsDemo1/*.{h,m} 表示 PrivatePodsDemo1 文件夹下所有的.h和.m文件
s.requires_arc = true # 是否启用ARC
s.platform = :ios, "8.0" #平台及支持的最低版本
# s.frameworks = "UIKit", "Foundation" #支持的框架
# s.dependency "JSONKit", "~> 1.4" # 依赖库
# User
s.author = { "SYX" => "872934694@qq.com" } # 作者信息
# s.social_media_url = "http://twitter.com/xxx" # 个人主页
end
然后,开始验证我们的仓库配置是否正确,按照错误提示来修改我们的配置。
$ pod lib lint
如果出现错误警告,需要添加 --private 或者 --allow-warnings,就能验证通过
$ pod lib lint --private
验证成功后会出现以下输出:
-> PrivatePodsDemo1 (1.0.0)
PrivatePodsDemo1 passed validation.
三. 将版本描述文件推送到版本库
将项目打上标签推送到远程仓库,标签号和版本号对都应该是 1.0.0
最后,要将我们的代码仓库的描述文件 push 到我们的版本仓库中
$ pod repo push SYXRepo PrivatePodsDemo1.podspec

~/.cocoapods/repos/SYXRepo中发现新增的仓库描述信息了

如果出现了以下错误
[!] The repo `SYXRepo` at `../.cocoapods/repos/SYXRepo` is not clean
更新下我们的版本库
$ pod repo update SYXRepo
再继续上传,即可。
pod repo push MyRepo PrivatePodsDemo1.podspec 的过程就是
- 验证 PrivatePodsDemo1.podspec 文件
- 拉取远程版本库 SYXRepo
- 添加 PrivatePodsDemo1.podspec 到版本库中
添加完成后我们就可以在pod中搜索
$ pod search PrivatePodsDemo1
-> PrivatePodsDemo1 (1.0.0)
私人pod代码测试
pod 'PrivatePodsDemo1', '~> 1.0.0'
- Homepage: https://gitee.com/Yun_S
- Source: https://gitee.com/Yun_S/PrivatePodsDemo1.git
- Versions: 1.0.0 [SYXRepo repo]
四. 私有Pod库的使用
在使用私人pod库的时候,我们需要在Podflie文件中加入以下语句,指明私人的版本库地址。
(**注意:**要是版本库的地址,而不是代码库的地址)
source ‘https://gitee.com/Yun_S/SYXRepo.git’
如果你还使用了公有的Pod库,需要把公有库地址也带上
source 'https://github.com/CocoaPods/Specs.git'
最终,我们的Podflie文件变成以下的样子
source ‘https://github.com/CocoaPods/Specs.git’
source ‘https://gitee.com/Yun_S/SYXRepo.git’
platform :ios, '8.0'
target ‘MyPodTest’ do
pod ‘PrivatePodsDemo1’ #我们的私有库
end
五. 测试
$ pod install
加载完成可以看到代码已经整合到我们的项目中了
