CocoaPods私有库的创建

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

接下来,我将以OSChina为例来创建自己的私有库

  1. 创建版本描述仓库

版本库名字为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 的过程就是

  1. 验证 PrivatePodsDemo1.podspec 文件
  2. 拉取远程版本库 SYXRepo
  3. 添加 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
复制代码

加载完成可以看到代码已经整合到我们的项目中了

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐