美文网首页
iOS_界面开发 通过InjectionIII工具实现iOS A

iOS_界面开发 通过InjectionIII工具实现iOS A

作者: Eyes_cc | 来源:发表于2020-12-14 15:03 被阅读0次
  • 在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.如果修改的是一个普通页面的内容,最好是退出这个页面,再进入这个页面

链接:https://www.jianshu.com/p/1d2716f2f5ef

相关文章

网友评论

      本文标题:iOS_界面开发 通过InjectionIII工具实现iOS A

      本文链接:https://www.haomeiwen.com/subject/zapvgktx.html