VSCode调试CocoaPods源码

在iOS开发中,我们经常使用CocoaPods管理三方依赖,如果要查看CocoaPods运行过程的话,可以使用ruby调试环境调试CocoaPods源码。

一 搭建ruby调试环境

可以参考这篇文章搭建ruby调试环境,CocoaPods调试环境只需在此基础上做修改
VSCode搭建ruby开发调试环境

二 cocoaPods源码

下载CocoadPods源码,把源码clone到本地

https://github.com/CocoaPods/CocoaPods

准备iOS工程命名为iOSProject,新建一个目录,把CocoaPods源码和iOS工程放到这个目录下,并在这个目录下新建Gemfile文件。

Gemfile中引入Ruby库

source 'https://gems.ruby-china.com/'
gem 'ruby-debug-ide'
gem 'debase', '0.2.5.beta2'
gem 'cocoapods', path: './CocoaPods'

gem ‘cocoapods’, path: ‘./CocoaPods’ 这一行是源码的方式引入CocoaPods

三 配置VSCode调试

VSCode中点击左侧Debug菜单,然后点击create a launch.json file。

在弹出的选择框Select debugger中选择Ruby,然后选择Debug Local File。

在launch.json中写入内容。

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Debug Local File",
            "type": "Ruby",
            "request": "launch",
            "program": "${workspaceRoot}/CocoaPods/bin/pod",
            "cwd": "${workspaceRoot}/iOSProject",
            "args": ["install"]
        }
    ]
}

program字段为pod可执行文件的目录,cwd为当前的工作目录,这里的iOSProject为工程名,根据实际需要替换,args为命令参数。

点击debug按钮运行程序,如果出现报错

WARNING: CocoaPods requires your terminal to be using UTF-8 encoding.
    Consider adding the following to ~/.profile:

    export LANG=en_US.UTF-8

需要在终端的配置文件中加上export LANG=en_US.UTF-8,重启终端,重启VSCode,重新debug运行程序。打开install.rb文件,在run方法中增加断点,断点可以正常断到。

你可能感兴趣的:(开发环境和工具,iOS,vscode,cocoapods)