美文网首页
rubymine调试cocoapods插件

rubymine调试cocoapods插件

作者: yohunl | 来源:发表于2020-04-09 03:42 被阅读0次

    本来并不需要这篇文章记录的,因为Cocoapods 插件调试环境配置已经写了,不过在实际操作的过程中,还是遇到了些问题,在这里记录一下:

    开发环境

    rubyMine
    本机使用rvm安装了ruby2.6版本(rvm是个命令行工具,用于多版本ruby的管理和切换 rvm.io,中文安装 rvm-guide
    )

    准备源码

    这里,我以调试一个现有的cocoapods插件为例,cocoapods-binary:这是一款可以将某些指定的pod转换为二进制的插件
    将源码下载下来

    建立一个文件夹


    image.png

    这里,
    .CocoaPodsPlugins
    ├── Gemfile #bundle的依赖文件
    ├── cocoapods-binary #插件的源码
    ├── demo #这个就是一个随便用xcode建立的iOS的使用podfile的demo工程

    其中Gemfile的内容是:

    source 'https://rubygems.org'
    
    gem 'cocoapods-binary' , :path => "./cocoapods-binary"
    
    group :debug do
        gem 'ruby-debug-ide'
        gem 'debase'
    end
    

    这个Gemfile文件的语法和我们熟知的Podfile文件的语法比较相似

    安装依赖

    因为我们是调试某个gem库,为了不影响我们已经安装的,安装依赖的时候,最好是安装到当前文件夹下的执行目录中去
    ruby的依赖包管理工具 bundle,如果配置了config文件的化,是可以在配置文件中声明安装的目录的
    在当前目录 建立./bundle/config文件
    建好后,如下:


    image.png

    config文件内容是:

    BUNDLE_PATH: "vendor/bundle"
    

    执行 bundle install,将会把Gemfile文件中所申明的依赖都安装到vendor/bundle目录下

    RubyMine设置

    在Rubymine中打开CocoaPodsPlugins文件夹,设置Edit Configurations


    image.png

    选择 Gem Command
    Gem name: 输入cocoapods-binary(插件的gem名字,这里输入时候,rubymine会弹出可选项,这里的可选项是rubymine可搜到的gem包)
    Excutable name: 输入 pod(这个可以固定,因为这是宿主程序,这个也是输入,就出现可选项,如果没出现pod,那么应该是你的Ruby SDK没有选好)


    image.png

    Arguments: pod命令执行需要的参数,以cocoapods-binary为例 执行命令为pod install,所以这里填 install
    Working directory: 选择测试pod的工程目录,也就是demo文件存在的目录(这个目录要是deom工程的podfile文件所在的目录,因为pod install会使用到,找不到,pod install就会出错的)。
    Ruby SDK 选择Use Other SDK and gem,一般情况下选择默认即可,如果有rvm管理多版本的ruby,则需要选择cocoapods所存在的ruby版本。
    这里,要注意,rvm管理ruby,通常这里有好几个选项,像我电脑,有两个2.6版本,我也不知道为什么.如果这里选错了,上面的Excutable name,即使强行写了pod,后面调试也会提示找不到Excutable.


    image.png

    选择Bundler Tab,勾选Run the script in context of the bundle(bundle exec)


    image.png

    依次点击 Apply,OK完成设置

    调试

    点击小爬虫,就可以打断点调试了


    image.png

    相关文章

      网友评论

          本文标题:rubymine调试cocoapods插件

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