手把手教你构建自己的CocoaPods仓库

CocoaPods简介

这里写图片描述

每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如Java语言的Maven,nodejs的npm。随着iOS开发者的增多,业界也出现了为iOS程序提供依赖管理的工具,它的名字叫做:CocoaPods。
CocoaPods项目的源码在Github上管理。该项目开始于2011年8月12日,经过多年发展,现在已经成为iOS开发事实上的依赖管理标准工具。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和更新第三方开源库的时间。

Trunk的Register

第一次使用需要注册,需要cocoapods 0.33版本以上才支持。接下来的几个步骤需要提前注册好GitHub账号,否则无法使用。

  • 注册
pod trunk register xxx@gmail.com "abcd"

说明:xxx@gmail.com 是你的github账号,abcd 是作者名字,也就是你的名字。

  • 查询 pod 注册信息,以及发布过的Pods
pod trunk me

创建远程仓库

github上同样创建一个MyLib,最好保持同名,需要注意的是,在创建仓库的时候需要添加license类型,这里我使用license类型为MIT

  • 第一步

这里写图片描述

  • 第二步

这里写图片描述

拉取远程仓库到本地

  • 进入桌面
cd desktop

这里写图片描述

  • clone到桌面
git clone https://github.com/rs/MyLib.git

说明: https://github.com/rs/MyLib.git 是github上的git地址,这里随便举个栗子。

这里写图片描述

本地仓库创建自己的库文件

这里写图片描述

添加.podspec文件

依赖库所需的文件格式为.podspec格式,每个Pods依赖库必须有这个描述文件

cd /Users/iean/Desktop/MyLib 

说明: /Users/iean/Desktop/MyLib 是本地仓库文件,进入刚才clone到本地的仓库。

pod spec create MyLib

说明:这样就生成了MyLib.podspec文件,打开该文件添加内容,并删除不需要的:

Pod::Spec.new do |s|

  s.name         = "Pod::Spec.new do |s|

  s.name         = "MyLib"
  s.version      = "0.0.1"
  s.summary      = "我的代码库"

  s.description  = <<-DESC
       我的代码库
                   DESC

  s.homepage     = "https://github.com/rs/MyLib"
  s.license      = "MIT"
  s.author       = { "rs" => "rs@gamil.com" }
  s.platform     = :ios,'6.0'

  s.source       = { :git => "https://github.com/rs/MyLib.git", :tag => "#{s.version}" }
  s.source_files  = "MyLib", "MyLib/MyLib/*.{h,m}"
  s.framework    = "UIKit"
  s.requires_arc = true
  s.pod_target_xcconfig =  {
        'SWIFT_VERSION' => '3.0',
  }
end

提交代码到github

git add .
git commit -m "version 0.0.1"
git push origin master
  • 打上标签
git tag 0.0.1
git push --tags

说明:这里的 0.0.1是和.podspec文件中 s.version 一般是对应的。

  • pod 验证
pod spec lint

说明:如果有error,可以根据提示修改.podspec文件。

如果有以下提示

-> MyLib(0.0.1)
Analyzed 1 podspec
MyLib.podspec passed validation

恭喜你,你配置成功,只差最后一步的了。

提交.podspec

pod trunk push MyLib.podspec
这条命令做了如下三件事:
  • 验证本地的podspec文件,也可以使用 pod lib lint验证

  • 上传podspec文件到trunk服务

  • 将{project}.podspec文件转为{poject}.podspec.json文件

使用

可以通过下面的命令查找的自己制作的pod库

pod search MMLib

如果报警告说没有找到,那么你需要更新本地pod repo

执行如下命令:

pod repo update

协同升级完善

当需要其他人来共同维护你的代码,需要提供权限

pod trunk add-owner CLRollingCycleView xxx@163.com
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值