• 上传自己的私有的(公共的)CocoaPods支持库


    上传自己的CocoaPods支持库

    1:在git上创建自己工程(此处省略n个字)

    2:如果各位看官已经上传过自己的cocoapods的就可直接跳到:步骤6,看

    3:开始注册用户上传信息

    pod trunk register wanghuizhou21@163.com --description='iOS Deloper'
    
    • 1

    然后注册的邮箱就会收到一个邮件,查看邮箱复制链接地址,放到浏览器中浏览一下。。。
    此处稍微等几分钟,才能进行下一步。。。

    4:查看用户上传信息

    pod trunk me
    
    • 1

    5:创建.podspec文件(用户可以直接复制,格式不变)

    Pod::Spec.new do |s|
      s.name             = 'HZAdditions'
      s.version          = '1.2.1'
      s.summary          = 'A short description of HZAdditions.'
    
      s.description      = <<-DESC
    TODO: Add long description of the pod here.
                           DESC
    
      s.homepage         = 'https://github.com/wanghuizhou21@163.com/HZAdditions'
      s.license          = { :type => 'MIT', :file => 'LICENSE' }
      s.author           = { 'wanghuizhou21@163.com' => 'wanghuizhou@guazi.com' }
      s.source           = { :git => 'https://github.com/7General/HZAdditions.git', :tag => s.version.to_s }
    
    
      s.ios.deployment_target = '8.0'
    
      s.public_header_files = 'HZAdditions/Classes/Additions.h'
      s.source_files = 'HZAdditions/Classes/Additions.h'
      
      ## 模块文件
      s.subspec "NSStringHelper" do |ns|
          ns.source_files = 'HZAdditions/Classes/NSStringHelper/*.{h,m}'
      end
      
      s.subspec "UIViewHelper" do |uh|
          uh.source_files = 'HZAdditions/Classes/UIViewHelper/*.{h,m}'
      end
      
      s.subspec "WaterMark" do |wm|
          wm.source_files = 'HZAdditions/Classes/WaterMark/*.{h,m}'
      end
      
      
    end
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35

    6:创建Pod项目工程

    当我们需要自定义一个组件的时候,可以用CocoaPods提供的一个命令来创建,相应的命令如下:

    $ pod lib create <项目名称>
    命令执行后会有一些问题,需要你操作,如下

    What language do you want to use?? [ Swift / ObjC ]

    ObjC

    Would you like to include a demo application with your library? [ Yes / No ]

    Yes

    Which testing frameworks will you use? [ Specta / Kiwi / None ]

    None

    Would you like to do view based testing? [ Yes / No ]

    No

    What is your class prefix?

    HZ

    当你回答完问题后,项目工程就自动创建好并且打开了。

    注意NOTICE:看到生成的文件夹里有有HZAdditions,他子文件夹下有Assets和Classes两个文件
    一个存放资源文件,一个图片文件

    把自己编写的类文件放到Classes文件夹下,,,

    所有的工作准备好之后使用

    pod update
    文件夹展现

    7:校验.podspec文件

    • 7.1 提交工程文件到远程仓库

    • 7.2 打一个tag标签

    git tag -m "first release" -a 1.0.0
    git push origin 1.0.0
    
    • 1
    • 2

    在校验之前,一定要在git上和你的podspec有一个一样的tag号,否则校验不通过
    执行

    pod spec lint HZAdditions.podspec --allow-warnings --verbose
    
    • 1

    如果有其他第三方依赖则要在该命令中pod spec lint HZAdditions.podspec --allow-warnings --verbose

    校验通过会显示如下的内容

    -> HZAdditions
     -> HZAdditions (1.0.0)
    
    Analyzed 1 podspec.
    
    HZAdditions.podspec passed validation.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    8:推送到CocoaPods
    执行

    pod trunk push HZAdditions.podspec --allow-warnings  --verbose
    
    • 1

    如果有其他第三方依赖则要在该命令中pod trunk push HZAdditions.podspec --allow-warnings --use-libraries --verbose

    等待上传成功的提示

    --------------------------------------------------------------------------------
     🎉  Congrats
    
     🚀  GGUIKit (1.0.1) successfully published
     📅  December 27th, 00:42
     🌎  https://cocoapods.org/pods/GGUIKit
     👍  Tell your friends!
    --------------------------------------------------------------------------------
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    走到这里就可以说明你已经上传成功。
    但是你可能会搜索不到
    7:解决搜索不到的问题

    Pod setup
    
    • 1
    rm ~/Library/Caches/CocoaPods/search_index.json
    
    • 1

    然后在次搜索
    pod search XXX
    会重新拉取库,慢慢等待

    有些地方说的不到位,还请各位看官指正。。。

    • 欢迎各位一块学习,提高逼格!
    • 也可以添加洲洲哥的微信公众号

    可以来微信公众号(洲洲哥)后台给我们留言。 快来扫码关注我们吧!

    公众号二维码

  • 相关阅读:
    2023国家工业软件大会:科东软件与您共创智能时代,引领产业变革!
    express脚手架及koa脚手架
    8.1 建军 环境配置
    JS(第九课)深刻的去理解函数.
    半导体划片机工艺应用
    【嵌入式】嵌入式开发为什么要跑操作系统?
    阿里云/腾讯云国际站代理:腾讯云国际站开户购买EdgeOne发布,安全加速一体化方案获业内认可
    SAP FI 系列 (035) - 应收票据的接收和承兑方法二
    【定时开关机】windows 10 如何设置定时开关机
    python机器人编程——用python实现一个写字机器人
  • 原文地址:https://blog.csdn.net/whuizhou/article/details/125186056