美文网首页iOS机制
CocoaPod创建私有库

CocoaPod创建私有库

作者: 桃色三岁 | 来源:发表于2022-03-08 00:44 被阅读0次

注册用户名和邮箱

1、先查看本地是否已经绑定过

$ pod trunk me

2、如需绑定,执行以下命令

$ pod trunk register xxxxxxxxx@qq.com '宁小陌y' --description='常用文件库'
注意:执行完该命令后,绑定的邮箱会收到一封邮件里面包含一个验证的连接,打开该链接进行验证!

3、然后在使用 $ pod trunk me 指令来验证下,是否绑定成功

本地创建pod库

1、创建一个空文件夹,用于存放我们的pod库,然后打开它

$ cd /Users/ningxiaomo/workspace/Cocoapods
$ pod lib create XMPopover 

2、执行完上述命令后,会依次问如下问题


WeChat32985e1f6a69d172ae911f27b24bf1a1.png

3、完成后会显示以下,并会自动打开项目


WeChat220723a661f06679c68f6802e9092a35.png
4、然后我们配置xxx.podspec文件
Pod::Spec.new do |s|
  # 名称 使用的时候pod search [name] 
  s.name             = 'XMPopover'        
  # 代码库的版本 
  s.version          = '0.1.0'        
  # 简介(这个描述要自己写一个不要使用默认的,不然会给一个警告的)
  s.summary          = '这是一个测试pod'    
  # 描述
  s.description      = <<-DESC
                        这个地方也是一个描述,要比summary这个地方的描述多一些
                       DESC
  # 主页
  s.homepage         = 'https://github.com/ningxiaomo0516/XMPopover'
  # s.screenshots     = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
  # 许可证书类型,要和仓库的LICENSE 的类型一致
  s.license          = { :type => 'MIT', :file => 'LICENSE' }
  # 作者名称 和 邮箱
  s.author           = { 'ningxiaomo0516' => 'xxxxxxxxx@qq.com' }
  # 代码的Clone 地址 和 tag 版本 
  s.source           = { :git => 'https://github.com/ningxiaomo0516/XMPopover.git', :tag => s.version.to_s }
  # s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'
  # 代码库最低支持的版本 
  s.ios.deployment_target = '9.0'
  # 如果使用pod 需要导入哪些资源 
  s.source_files = 'XMPopover/Classes/**/*'
  
  # s.resource_bundles = {
  #   'XMPopover' => ['XMPopover/Assets/*.png']
  # }

  # s.public_header_files = 'Pod/Classes/**/*.h'
  # s.frameworks = 'UIKit', 'MapKit'
  # s.dependency 'AFNetworking', '~> 2.3'
end

5、编写完成后,先进行本地检查,使用,如何可以就是绿色,不然会报错

$ pod lib lint XMPopover.podspec

只要见到 XMPopover passed validation. 就是成功通过了验证

添加自己的库文件

1、删除ReplaceMe.m文件,同时将你封装好的文件,放到Classes文件夹里面


WeChatee9bdeff26148c67d134aea92d071696.png

2、切换到Example下进行pod install (把刚才拖入到class里的文件夹pod进来)

$ pod install

3、添加完代码,执行以下指令上传到远程仓库

$ git add .
$ git commit -m "提交内容描述"
$ git push

3、发布项目到Cocoapods上去需要添加版本号的,并创建同名分支branch,用如下指令添加版本号

//添加版本号
$ git tag -a 0.1.0 -m "版本0.1"
//创建同名分支
$ git branch 0.1.0
//查看版本号
$ git tag
//将本地的添加的tag同步到远程代码仓库
$ git push --tag

验证本地podspec文件

1、打开podspec所在文件目录

$ cd xxx.podspec所在文件目录

2、使用验证命令

#验证书写格式 --verbose:详细信息 --use-libraries:使用了静态库 --allow-warnings:允许警告
$ pod spec lint xxx.podspec 
$ pod spec lint xxx.podspec --allow-warnings
#验证库编译
$ pod lib lint --allow-warnings
注:看到 xxx.podspec passed validation. 就说明验证通过

推送到podspec文件的Specs仓库

$ pod trunk push xxx.podspec
$ pod repo push xxx xxx.podspec --allow-warnings
出现如下日志就表示发布成功了
Updating spec repo `trunk`
Validating podspec
Updating spec repo `trunk`

--------------------------------------------------------------------------------
 🎉  Congrats

 🚀  xxx (1.0.0) successfully published
 📅  March 08 st, 18:27
 🌎  https://cocoapods.org/pods/xxx
 👍  Tell your friends!

尝试引入第三方依赖库

我们还可以在.podspec文件中指定其他的依赖,比如我们想基于AFNetworking,封装一套属于自己的网络请求库,那么我们就可以一并将AFNetworking也pod下了,只需要增加一行代码即可

s.dependency 'AFNetworking', '~> 4.0'

相关文章

  • 组件化实践记录

        之前,写过文章CocoaPod创建私有库记录创建私有库,但是发现创建Paas项目的基础库的时候,没有那么简...

  • cocoapod私有库创建步骤

    cocoapod私有库创建步骤 1 创建索引库 根据需求创建公开还是私有,第3步license记得选上 2 关联到...

  • CocoaPod创建私有库

    在码云(我的个人主页)上创建两个远程仓库,其中YYSpecs 用来存放本地的spec,YYToolProject是...

  • Cocoapod 创建私有库

    步骤 创建一个spec Repo的私有远程仓库[A] , 一个存放pod 库源码的远程仓库[B],两个仓库! 创建...

  • cocoapod创建私有库

    pod install原理cocoapod安装之后本地会有~/.cocoapods/repos/的路径,repos...

  • CocoaPod创建私有库

    注册用户名和邮箱 1、先查看本地是否已经绑定过 2、如需绑定,执行以下命令 注意:执行完该命令后,绑定的邮箱会收到...

  • CocoaPod创建私有库

    可用于实现组件化 1、先查看本地是否已经绑定过 如果已经绑定,会显示: 如果未绑定,先绑定,执行: 执行成功: 然...

  • 自己使用Cocoapods创建私有podspec的记录

    最近在cocoapod上看到 使用Cocoapods创建私有库(http://www.cocoachina.com...

  • Cocoapod搭建私有库详细教程

    Cocoapod搭建私有库详细教程 一、准备工作 创建两个私有远程仓库 WYSpec 和 WYLib-- WYSp...

  • 如何发布自己的pods框架

    创建CocoaPod私有库的详细步骤 一. 远程索引库 概念:每创建一个组件都会带有一个 xxx.podspec ...

网友评论

    本文标题:CocoaPod创建私有库

    本文链接:https://www.haomeiwen.com/subject/iuvorrtx.html