InjectionIII实现Debug模式下热重载(一)

2,150 阅读1分钟

前言

作为一个iOS开发者来说,编写UI界面时,调试是一件头疼的事,每次都需要编译才能看到结果,有时只是修改一个字体或者颜色就需要编译,所以在开发效率上是非常的低的,然而有了injection之后,对于iOS开发就是一个莫大的福音,它不仅提高了UI的开发效率,还能解决编译问题。(injection实现非组件化项目热重载,组件化项目会在下一篇讲解)

一.在App Store下载 InjectionIII如下:

Snip20210721_1.png

下载injectionIII之后直接安装就好。

  1. 在App Strore 搜索InjectionIII直接安装即可

  2. 打开安装好的InjectionIII选择项目的根目录,有xcodeproj所在的目录

  3. 重新运行项目看见控制台输出,💉 Injection connected 👍代表成功

  4. command + S保存会自动触发热更新。当然需要实现方法:

  • -(void)injected {

       NSLog(@"I've been injected: %@", self);

       //调试的代码

   }

githud的地址

详细配置文档

二.项目配置

1.在appledelegate中配置如下:

Object-C中如下:

#if DEBUG
        
        [[NSBundle bundleWithPath:@"/Applications/InjectionIII.app/Contents/Resources/iOSInjection.bundle"] load];
  #endif

swift中如下:

#if DEBUG
        
        Bundle(path: "/Applications/InjectionIII.app/Contents/Resources/iOSInjection.bundle")?.load()
        #endif

配置好之后进行command+R运行,如果出现如下,说明配置成功了,以后一旦有代码修改,只需要进行command+S就可以看到结果了。

工善其事必先利其器,业精于勤而荒于嬉 祝大家开发愉快~~