美文网首页
发布自己的pod文件

发布自己的pod文件

作者: 高思阳 | 来源:发表于2018-10-18 13:56 被阅读10次

前言
在我们想要发布自己的pod文件时,需要通过Pod Lib Create指令去创建pod,然后添加文件,测试后发布.这次我们来探究下Pod Lib Create到底是如何实现的,该指令帮我们做了什么呢?
pod lib create
通过pod lib create创建一个pod,分析创建流程当执行pod lib create ProjectName时,其实是下载了一个pod模板,然后在内部通过更改.podspec文件的配置定制化自己的pod,pod lib create ProjectName其实使用了默认参数,补全的话pod lib create ProjectName --template-url=https://github.com/CocoaPods/pod-template.git,
执行:pod lib create

image.png

分析

  • Cloning https://github.com/CocoaPods/pod-template.git into ProjectName.创建一个和指定的项目名相同的文件夹,然后将pod-template克隆下拉
  • Configuring TemplateDemo template对当前项目进行配置pod-template是cocoapods官方提供的一个模板,做了什么呢
    pod-template
    看一下文件路径

    pod-template

Configuring TemplateDemo template做了什么呢?先找当前路径下configure文件,文件夹内容

!/usr/bin/env ruby

$current_dir = File.dirname(File.expand_path(FILE))

Dir[File.join($current_dir, "setup/*.rb")].each do |file|

require_relative(file)

end

pod_name = ARGV.shift

Pod::TemplateConfigurator.new(pod_name).run
根据上述命令:可得知,遍历并通过require_relative(file)获得访问在setup文件夹下寻找以.rb为后缀名的文件的权限,然后Pod::TemplateConfigurator.new(pod_name).run运行TemplateConfigurator文件的内容看一下setup下面有什么?


setup文件夹

在TemplateConfigurator文件内,配置了在终端的显示样式,并通过

@message_bank = MessageBank.new(self)
@message_bank.show_prompt
@message_bank.show_prompt
等方法,引用MessageBank内的命令,具体不再赘述,感兴趣的可以到ruby文件去查看.
延伸
我们可以定义自己的模板,仿照pod-template,配置configure文件,但是相应的参数可以在内部之间定义好,就不需要每次pod lib create时填写各种参数.

执行结果
文件夹目录结构如下
MyLib
├── .travis.yml
├── _Pods.xcproject
├── Example
│ ├── MyLib
│ ├── MyLib.xcodeproj
│ ├── MyLib.xcworkspace
│ ├── Podfile
│ ├── Podfile.lock
│ ├── Pods
│ └── Tests
├── LICENSE
├── MyLib.podspec
├── Pod
│ ├── Assets
│ └── Classes
│ └── RemoveMe.[swift/m]
└── README.md

  • Pod 用来存放添加的类

  • RemoveMe 示例类,可以直接删除
    注意: 基于自定义pods的实现细节,在向Pod/Classes或者Pod/Assets文件增加类或者更新podspec文件时,需要运行pod install或者pod update

  • 当你需要向向你的项目中安装新的pod库时使用pod install。即使之前你已经有一个Podfile并且执行了pod install,即使你是在向一个已经使用了CocoaPods的项目中添加或移除pod库。

  • 只有当你想要更新pod库的版本时才使用pod update。

发布私有库
之前的开发和测试就绪后,就要准备发布了.

  • pod lib lint 或 pod spec lint :首先要检测Podspec的正确性pod lib lint不会连接网络,而是检查文件格式pod spec lint 会读取线上的repo并检查相应的tag
  • pod repo push SPEC_REPO *.podspec --verbose 发布po

相关文章

  • 发布自己的pod文件

    前言在我们想要发布自己的pod文件时,需要通过Pod Lib Create指令去创建pod,然后添加文件,测试后发...

  • 理解CocoaPods的Pod Lib Create

    前言 在我们想要发布自己的pod文件时,需要通过Pod Lib Create指令去创建pod,然后添加文件,测试后...

  • 发布自己的pod

    记录一下今天发布pod的流程,以备后续用到。 心血来潮,忽然想把自己改写的StreamingKit发布到pod上,...

  • 关于Xcode9版本的ReactiveCocoa6.0报错问题解

    正常pod文件导入的pod文件 pod ‘YYKit’pod ‘Mantle’pod “SnapKit”pod '...

  • 发布自己的pod库

    转载自:https://www.cnblogs.com/czc-wjm/p/5958103.html

  • 创建pod项目工程文件

    创建pod项目工程文件,就是用来发布到cocoapods的你的库。 A:创建一个空文件夹,cd到该文件下: $ p...

  • kubernetes

    kubernetes 安装 常用命令 命令发布nginx ymal配置文件管理 pod的管理 service的管理...

  • 使用pod发布自己的框架

    注意:使用正式版的Xcode,别用beta版的 切记!!! 第一步:注册 -> 允许我们在这台电脑上用pod发布...

  • 创建自己的Pod并发布

    1.在github上面创建自己项目 2.将项目clone到本地 3. 给仓库创建个podspec文件 4.编写po...

  • 发布自己的 Cocoapod Pod 库

    如果出现错误:请参考这个链接官方安装文档一篇挺全的文章一些报错的解决方法创建私有 Pod 1、创建一个私有的 Sp...

网友评论

      本文标题:发布自己的pod文件

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