发布自己的pod文件

2018-10-18  本文已影响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

分析

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

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

上一篇下一篇

猜你喜欢

热点阅读