通过InjectionIII工具实现iOS App的Hot Reload

  • 在App Store搜索InjectionIII,安装即可
  • 安装完成后打开InjectionIII,如下图:
    InjectionIII打开后的示意图
  • 在AppDelegate添加load代码
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
#if DEBUG
    // 加载Hot Reload - InjectionIII
    [[NSBundle bundleWithPath:@"/Applications/InjectionIII.app/Contents/Resources/iOSInjection.bundle"] load];
#endif
}
  • 运行项目(首次使用InjectionIII会弹出来一个选择框,让你选择项目的根路径),也可以通过Open Project添加主工程目录
  • 如果是组件化的话,可以通过Add Directory添加需要检查的子工程
  • 显示如下内容则表示连接成功,如下图:
    InjectionIII连接成功
  • UI修改后保存,二级页面重新进入即可,(一级页面我们这里是通过切换主题来更新的),则可看到修改后的效果

💉注射失败以及使用总结

  • 确认InjectionIII监听的目录和 Xcode 项目根目录是否一致
  • 看下有没有保存成功,也就是针筒的颜色由蓝色变成橙色
  • 确认Injection connected有没有打印,也就是说有没有真的运行这个工具
  • 如果控制台有log显示Error loading切换模拟器
  • 如果修改的是cell / item上面的内容,需要上下滚动才能看到效果
  • 如果修改的是一个普通页面的内容,最好是退出这个页面,再进入这个页面
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容