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
复制代码
加载完成可以看到代码已经整合到我们的项目中了
所有评论(0)