通过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上面的内容,需要上下滚动才能看到效果
  • 如果修改的是一个普通页面的内容,最好是退出这个页面,再进入这个页面

你可能感兴趣的:(通过InjectionIII工具实现iOS App的Hot Reload)