使用drafter 源码阅读

使用Drafter生成类图和方法调用图(OC&SWIFT)

Drafter是什么

  • Drafter是一个命令行工具,用于分析iOS工程的代码,支持Objective-C和Swift。
  • 自动解析代码并生成方法调用关系图。
  • 自动解析代码并生成类继承关系图。

安装

执行以下指令,会自动安装到 /usr/local/bin 目录中:

curl "https://raw.githubusercontent.com/L-Zephyr/Drafter/master/install.sh" | /bin/sh

基本使用

  • 首先确保电脑中安装了Graphviz,可以直接通过Homebrew来安装:brew install graphviz
  • 生成方法调用关系图,以Bluetooth为例,如:
drafter -f ./AACenteralManager.m

在当前位置会自动生成一张以"文件名+.png"格式来命名的图片

生成类继承关系图:

drafter -f ./Bluetooth -m inherit

参数

  • -f、—file <arg>
    必要参数,指定一个文件或文件夹,多个参数之间用逗号分隔,切勿出现空格。

  • -m、—mode <arg>
    可选参数,指定解析模式,参数值可以为invoke、inherit、both。invoke表示只解析方法调用关系、inherit表示只解析类继承关系、both表示同时执行两种解析模式。默认为invoke。

  • -s、—search <arg>
    可选参数,指定关键字,多个关键字之间用逗号分隔,关键字忽略大小写。根据关键字过滤解析结果,只保留包含指定关键字的节点分支,如:

    drafter -f ./XXViewController.swift -s viewdidload
    
  • -self、—self-method-only
    可选参数,仅在解析调用关系图时起效,生成结果仅保留用户自定义的方法。 默认情况下解析调用关系时会将所有的方法调用都解析出来,文件较大时结果会比较杂乱,开启该选项仅保留本文件中定义的方法,让结果更加清晰:

    drafter -f ./AACenteralManager.m -self
    

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。