继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

iOS 组件化开发

30秒到达战场
关注TA
已关注
手记 463
粉丝 97
获赞 574

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文件

  1. Pod::Spec.new do |s|  

  2.     #组件名称  

  3.   s.name             = 'GWHomeKit'  

  4.   #组件版本号  要和tag一致  

  5.   s.version          = '0.1.0'  

  6.   #组件的简短简绍  

  7.   s.summary          = 'GWHomeKit.描述'  

  8. #详细描述  

  9.   s.description      = <<-DESC  

  10. TODO: GWHomeKit.详细描述  

  11.                        DESC  

  12. #仓库主页  

  13.   s.homepage         = 'https://github.com/Gavin/GWHomeKit'  

  14.    

  15.   #CocoaPods强制要求所有的Pods依赖库都必须有license⽂件,否则验证不会通过。license的 类型有很多种,详情可以参考网站tl;dr Legal。在创建github仓库的时候,我已经选择了MIT类型的 license 协议。  

  16.   s.license          = { :type => 'MIT', :file => 'LICENSE' }  

  17.   # 作者 邮箱  

  18.   s.author           = { 'Gavin' => 'wgw12230927@163.com' }  

  19.   #真是的分支地址  

  20.   s.source           = { :git => 'https://github.com/Gavin/GWHomeKit.git', :tag => s.version.to_s }  

  21.   

  22.  #iOS操作系统版本  

  23.   s.ios.deployment_target = '8.0'  

  24.   #组件文件路径  

  25. s.source_files = 'GWHomeKit/Classes/**/*'  

  26. #s.source_files = 'GWHomeKit/Classes/*.{h,m}'  

  27.   

  28.   # s.resource_bundles = {  

  29.   #   'GWHomeKit' => ['GWHomeKit/Assets/*.png']  

  30.   #图片文件路径  

  31.   # }  

  32.   

  33.   # s.public_header_files = 'Pod/Classes/**/*.h'  

  34.   # s.frameworks = 'UIKit', 'MapKit'  

  35.   #框架依赖  

  36.   # s.dependency 'AFNetworking', '~> 2.3'  

  37.   #依赖的组件  

  38.    

  39. 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 ...

    解决方案:

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

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

  4.  最后使用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'。

大功告成!可以大功告成!可以去项目中安装自己的组件了

  1. $ pod install  

原文出处

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP