Cocoapods组件化

1、创建私有仓库

新建一个管理Spec的git仓库, 最好命名Spec后缀

2、更新私有仓库到本地,其中master(公有仓库)、Spec(私有仓库)

$ pod repo add ZRSpec https://git.dev.tencent.com/ERRORMAN/ZRSpec.git
$ open ~/.cocoapods/repos

3、创建本地组件

$ pod lib create flieName # 会建立Demo
或者
$ pod spec create flieName

选择平台、语言、模板、类前缀等

4、创建本地及远程仓库

$ git init # 创建本地项目,在项目根目录执行git init命令
# 在git服务器上创建一个仓库,这里使用GitHub创建一个仓库。
$ git remote add origin https://github.com/jolieYa/BYMediator.git
$ git pull origin master:master # 从远程分支拉取master分支并与本地master分支合并。 
或者
$ git pull origin master --allow-unrelated-histories 
$ git push -u origin master # 提交本地分支到远程分支

5、添加组件代码,并修改.podspec文件内容

 

 

Pod::Spec.new do |s|
   #组件名称
 s.name             = 'BYMediator'
 #组件版本号  要和tag一致
 s.version          = '0.1.0'
 #组件的简短简绍
 s.summary          = 'BYMediator.描述'
#详细描述
 s.description      = <<-DESC
TODO: BYMediator.详细描述
                      DESC
#仓库主页
 s.homepage         = 'https://github.com/jolieYa/BYMediator.git'
 
 #CocoaPods强制要求所有的Pods依赖库都必须有license⽂件,否则验证不会通过。license的 类型有很多种,详情可以参考网站tl;dr Legal。在创建github仓库的时候,我已经选择了MIT类型的 license 协议。
 s.license          = { :type => 'MIT', :file => 'LICENSE' }
 # 作者 邮箱
 s.author           = { 'jolieYa' => 'jolieYa@163.com' }
 #真是的分支地址
 s.source           = { :git => 'https://github.com/jolieYa/BYMediator.git', :tag => s.version.to_s }

#iOS操作系统版本
 s.ios.deployment_target = '8.0'
 #组件文件路径
s.source_files = 'BYMediator/Classes/**/*'
#s.source_files = 'BYMediator/Classes/*.{h,m}'

 # s.resource_bundles = {
 #   'BYMediator' => ['BYMediator/Assets/*.png']
 #图片文件路径
 # }

 # s.public_header_files = 'Pod/Classes/**/*.h'
 # s.frameworks = 'UIKit', 'MapKit'
 #框架依赖
 # s.dependency 'AFNetworking', '~> 2.3'
 #依赖的组件
 
end

6、打tag,及验证.podspec文件

# --verbose : 获取详细信息
# --use-libraries : 有引用框架时
# --allow-warnings : 忽略告警
# --sources : 代码包含私有库代码
$ pod lib lint BYMediator.podspec --verbose --allow-warnings --use-libraries --sources='https://xxx/bymediator_-home-module.git,https://github.com/CocoaPods/Specs.git' # 验证本地.podspec

# 打tag版本提交服务端后,再验证服务端.podspec
$ git tag 0.0.1
$ git push --tags
$ pod spec lint BYMediator.podspec --verbose --allow-warnings # 验证服务端.podspec

6、提交podspec到Specs仓库

$ pod repo push ZRSpec BYMediator.podspec --verbose --use-libraries --allow-warnings //前面是本地repo仓库名,后面是要提交的podspec

7、使用组件

1)新建项目

2)配置Podfile文件

platform :ios, '9.0'
inhibit_all_warnings!
use_frameworks!

source 'https://cdn.cocoapods.org/'
#source 'https://github.com/CocoaPods/Specs.git'
# 私有仓库
source 'https://git.dev.tencent.com/ERRORMAN/ZRSpec.git'

target :BYRouterExample do
  pod 'BYMediator',                  '~>0.1.0'
end

3)进入工程安装组件

$ pod install

10、若本地无pod私有库源,则需要更新

接下来需要更新一下本地的pod的json文件即可

  1. pod install(这⼀一步已经包括pod setup)
  2. pod setup
  3. pod repo update pod setup成功后,依然不不能pod search,是因为之前你执⾏行行pod search⽣生成了了 search_index.json,此时需要删掉。

终端输⼊入: rm ~/Library/Caches/CocoaPods/search_index.json

$ pod repo update # 将私有库更新到本地
$ pod install

 

 


 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值