InjectionIII使用教程

什么是InjectionIII

InjectionIII是John Holdsworth开发的一款可以动态的将Swift或者Objective-C代码在已运行的程序中执行的工具,可以不用重新运行程序,加快调试速度。这款工具可以在Mac AppStore免费下载,如下所示:

image-20200525192215540

同时作者也将该软件开源了,源代码地址

使用方法

1.从Mac AppStore下载完成后,打开软件,在电脑右上方任务栏会出现针孔的图标,点击Open Project,或者Open Recent,选择工程文件的根文件夹,再点击File Watcher至选中状态。

image-20200525192810711

2.打开Xcode工程,在Appdelegate.m文件didFinishLaunchingWithOptions方法里添加如下代码

#if DEBUG
    // iOS
    [[NSBundle bundleWithPath:@"/Applications/InjectionIII.app/Contents/Resources/iOSInjection.bundle"] load];
    // tvOS
    //[[NSBundle bundleWithPath:@"/Applications/InjectionIII.app/Contents/Resources/tvOSInjection.bundle"] load];
    // macOS
    //[[NSBundle bundleWithPath:@"/Applications/InjectionIII.app/Contents/Resources/macOSInjection.bundle"] load];
#endif
#if DEBUG
Bundle(path: "/Applications/InjectionIII.app/Contents/Resources/iOSInjection.bundle")?.load()
//for tvOS:
Bundle(path: "/Applications/InjectionIII.app/Contents/Resources/tvOSInjection.bundle")?.load()
//Or for macOS:
Bundle(path: "/Applications/InjectionIII.app/Contents/Resources/macOSInjection.bundle")?.load()
#endif

3.在你编辑的ViewController中添加如下方法

- (void)injected {

}

在该方法中添加你想要更改的代码,按Command + S运行。

注意

1.重新运行不会调用injected方法,因为该方法并未被实际调用

2.只能在模拟器中使用

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

推荐阅读更多精彩内容