cocoapods 插件开发初探

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

第一步:开发环境配置

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

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

  • 下载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

阿振

谦虚地说着“献丑”,却往往献出了最珍贵的东西。你永远不知道,这句口是心非,需要多么大的努力!

相关推荐

homebrew services 服务管理

mac 上并没有服务管理的工具。比如安装了 brew install mysql 启动的话就要用mysql start 来启动。有没有统一的服务管 ...

mac ruby 安装管理及使用

第一步:安装 rvm 使用rvm 来管理ruby。来替换系统ruby环境 执行下面脚本安装rvm curl -sSL https://get.rvm.io | bash ...

IDE破解

添加插件市场源 settings -->Preferences --> Plugins -- 插件设置小齿轮 --> Custom Plugin Repositories 添加插件源 ...