- 在App Store搜索
InjectionIII
- 打开
InjectionIII
- 在AppDelegate添加load代码
#if DEBUG
// for iOS
Bundle(path: "/Applications/InjectionIII.app/Contents/Resources/iOSInjection.bundle")?.load()
// for tvOS:
// Bundle(path: "/Applications/InjectionIII.app/Contents/Resources/tvOSInjection.bundle")?.load()
// for macOS:
// Bundle(path: "/Applications/InjectionIII.app/Contents/Resources/macOSInjection.bundle")?.load()
#endif
- 在
controller
文件添加代码
@objc func injected(){
print("I've been injected: \(self)")
}
运行项目(首次使用InjectionIII会弹出来一个选择框,让你选择项目的根路径),也可以通过Open Project添加主工程目录。
如果是组件化的话,可以通过Add Directory添加需要检查的子工程。
然后我们就可以在 - (void)injected 方法中调试代码,每次改完之后在当前文件下按下 COMMAND + S 保存,就可以在模拟器看到更改代码之后的效果。不需要重新运行整个项目。
- 显示如下内容则表示连接成功,如下图:
- UI修改后保存,二级页面重新进入即可,(一级页面我们这里是通过切换主题来更新的),则可看到修改后的效果。
💉注射失败以及使用总结【该工具只对模拟器有效】
1.确认InjectionIII监听的目录和 Xcode 项目根目录是否一致
2.看下有没有保存成功,也就是针筒的颜色由蓝色变成橙色
3.确认Injection connected有没有打印,也就是说有没有真的运行这个工具
4.如果控制台有log显示Error loading,切换模拟器
5.如果修改的是cell / item上面的内容,需要上下滚动才能看到效果
6.如果修改的是一个普通页面的内容,最好是退出这个页面,再进入这个页面
网友评论