cocoaPods组件化开发

1、创建模板文件

  1. pod lib create flieName
  2. pod spec create flieName
方法⼀会帮助你创建一⼤大堆的⽂文件,包括演示demo创建;方法⼆方便你在现有的项目中提取你需要制作pod的代码。

这里使用的是方式一 输入图片说明 选择平台、语言、模板、类前缀等 输入图片说明

2、在模板的Classes文件中不安置自己编写的组件/框架。

输入图片说明

3、模板本地安装组件测试

同时把相应的文件拖动如下的模板工程文件中 cmd + B 编辑看看是否正常 输入图片说明 如果没有问题本地的组件已经完成 可以在工程给使用试试

4、项目本地安装组件测试

输入图片说明

这里的路径是找到 podspec 文件。

5、发布到远程服务器

1. 将自己的本地组件代码发送到某个代码管理库(如:gitHub、码云等)
2. 进入代码库 cd到文件
3. 打开文件 open .
4. 给代码添加gat  git tag 版本号
5. 把tag推送到远程仓库 git push --tags

6、配置spec文件

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

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

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

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

这个是在指定共享的类库时, 文件路径不对, 也就是设置s.source_files 字段时, 发生了错误, 这里的路径是相对于.podspec文件的, 如果是与.podspec同级的文件夹, 直接写文件夹名称即可。

7、把spec文件提交的cocoapod

  1. 注册 pod trunk
    (如:pod trunk register '邮箱' '用户名' --description='电脑描述') 邮箱会收到一个验证邮件 点击链接即可

  2. 接下来查看个人信息 pod trunk me

中间可能遇到这种错误:

NoMethodError - undefined method 'last' for #<Netrc::Entry:0x007fc59c246378>

这时候需要尝试更新gem源或者pod:

$ sudo gem update --system $ sudo gem install cocoapods $ sudo gem install cocospods-trunk

如果遇到这种情况:

[!]Authentication token is invalid or unverified. Either verify it with ...

解决方案:

重新执行第一步注册。重来。

  1. 记得验证spec文件是否正确 pod lib lint (如:pod spec lint GWHomeKit.podspec)

  2. 最后使用pod trunk命令,把podspec文件推送到CocoaPod官方库 (如: pod trunk push GWHomeKit.podspec)

8到此已经成功了!

接下来需要更新一下本地的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

9 删除成功后,再执⾏行行:pod search 'GWHomeKit'。

输入图片说明

大功告成!可以去项目中安装自己的组件了 输入图片说明

进入工程安装组件

-  $ pod install

转载于:https://my.oschina.net/u/2433349/blog/1817088

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值