BestiOSDev / cocoapods-plugins-develop

cocoapods 插件开发环境

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cocoapods 插件开发

之所以会写这篇文章是因为过程比较曲折。虽然最后也没有使用cocoapods 插件的方式来实现自己想要的功能。但是还是记录一下,给需要的人。

第一步:开发环境配置

官方的文档很简单 CocoaPods + Plugins 我猜测可能是因为觉得比较简单就没怎么写相应的文档吧。但是对新手相当不友好。我写这篇文章的时候也在想是一个新手不需要,大牛不屑看的文章。就当记录一下自己的心路历程吧。

想要好好的开发专注于写代码一个比较好的开发环境是必不可少的。这里直接用ide 比较方便调试。

  • 下载IDE

下载rubymine 我自己比较懒是通过TOOLBOX安装的, 主要是方便管理。特别是使用Windows装了软件以后卸载总感觉没有卸载干净。激活的话参考另外一篇文章

  • 安装ruby

这里我也不写了安装ruby 的方式我这里也贴一个🔗链接

  • 配置环境

1、 创建工作目录

mkdir cocoapods-plugins-develop

2、 创建插件

# 进入目录
cd cocoapods-plugins-develop

# 创建插件
pod plugins create  nehza # 最后是插件名称。

这里创建完插件以后会自动带上cocoapods 的前缀。

3、 创建一个空项目用来编译调试

Xcode -> New -> Project -> iOS -> App -> 输入名称点击完成

在项目中创建一给 podfile 文件

pod init

podfile文件中添加插件 plugin 'cocoapods-xxx' 添加在 target 下。

4、 添加一个 Gemfile 文件。这里我写成一个脚本直接执行吧。省去创建然后在添加内容的步骤,把下面的脚本整个粘贴到终端中执行。执行路径在创建的项目工作目录中。

cat > Gemfile <<EOF
source 'https://gems.ruby-china.com' # 替换为国内源
gem 'cocoapods', path: './CocoaPods' # 本地cocoapods
gem 'cocoapods-xxx', path: './cocoapods-xxx' # 本地插件位置
group :debug do
	gem 'ruby-debug-ide'
	gem 'debase'
end
EOF

5、这里进行贴图讲解了。

打开RubyMine 按照图上点击open 打开创建的工作目录。 打开后看到里面有三个文件夹和一个Gemfile文件。

配置ruby 环境。点击偏好设置到图上位置。找到ruby到环境目录。完成以后可以根据IDE提示安装依赖

接下来就是配置启动项了。点击编辑跳转到如图。

根据上图操作来到配置也没。这里有两个需要注意的地方。

  • 如果在输入pod 时候没有提示的话那么有可能你的ruby 配置没有成功。
  • 工作目录需要更改为你demo的项目也就是podfile文件所在的目录。

最后就是这里钩上✅

第二步:插件开发

cocoapods 这里的开发分为两种模式

  • hooks 已有的命令增加功能
  • 新增命令来扩展新功能。

我这里贴下插件目录来说明一下

├── Gemfile  # 依赖配置类似于 podfile
├── LICENSE.txt
├── README.md
├── Rakefile # 校验文件
├── cocoapods-unp.gemspec # 类似于podspec
├── lib
│   ├── cocoapods-unp
│   │   ├── command
│   │   │   └── unp.rb # 这个就是我们需要开发的命令 run方法就是执行的位置。
│   │   ├── command.rb
│   │   └── gem_version.rb
│   ├── cocoapods-unp.rb
│   ├── cocoapods_plugin.rb # 这里是加载时候自动执行。可以在这里hooks 已有的命令及方法
│   └── provider_hook.rb
└── spec
    ├── command
    │   └── unp_spec.rb
    └── spec_helper.rb

第三步:插件编译及安装

最后反而是最没有什么技术含量的,这里也就是两条命令

编译

gem build cocoapods-xxx.gemspec

安装

gem install cocoapods-xxxx-0.0.1.gem

About

cocoapods 插件开发环境


Languages

Language:Ruby 84.1%Language:Swift 12.6%Language:Objective-C 2.8%Language:Shell 0.4%Language:C 0.1%