Injection是johnno开发的一个Xcode插件,允许我们将代码实现更快注入到模拟器运行的程序或macOS程序。原先可以通过Alcatraz安装到Xcode中,不过现在是独立的App了。可以在这里下载安装。启动后会出现在屏幕顶部的工具栏中,如下图所示。

要检测是否有效,可以在某个类里面添加injected方法,然后打个断点。在代码修改后保存,然后注入,如果进入这个断点,则说明安装成功,同时控制器会有相应信息输出,如下图所示。

Injection使用AppleScript来和Xcode进行通信,以确定当前的文件与工程,然后将代码注入到模拟器,再加载新代码,并将新代码替换原来的代码。其效果如下图所示。

Injection程序还包含一个Xprobe浏览器,用于查看程序的内存。可以选择图1中的Load Xprobe菜单项,弹出的窗口中显示了当前时间点的对象实例,我们可以在这做一些有意思的事情,如下图所示。

Injection工程源码

文档