美文网首页
iOS热重载

iOS热重载

作者: Jackxu_q | 来源:发表于2019-08-29 15:54 被阅读0次

InJection(热重载)

最近一段时间苦恼于UI调试,基本上就是麻木的修改运行Xcode,修改再运行Xcode,苦恼的地方在于项目文件逐渐变大、电脑性能变差造成App编译时间变长,还有就是如果调试的页面层级较深,再跳转到指定页面又是一波操作,很费时间。

今天看到一个介绍热重载的帖子,可以直接看到修改效果,无需重新编译,顿时有种天晴了的感觉,决定尝试并记录使用方法:

原理:

Injection:iOS热重载背后的黑魔法

1.先在APPStore搜索下载InJectionIII

2.然后在 application:DidFinishLaunching: 方法中加入如下代码

Xcode 10.3及以后版本

#ifDEBUG// iOS

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

// tvOS

 [[NSBundle bundleWithPath:@"/Applications/InjectionIII.app/Contents/Resources/tvOSInjection.bundle"] load];

// macOS

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

Xcode 10.1

#ifDEBUG

// iOS

[[NSBundle bundleWithPath:@"/Applications/InjectionIII.app/Contents/Resources/iOSInjection10.bundle"] load];

// tvOS

// [[NSBundle bundleWithPath:@"/Applications/InjectionIII.app/Contents/Resources/tvOSInjection10.bundle"] load];

// macOS

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

3.然后在所需要调试的页面添加一下代码

- (void)injected{

NSLog(@"I've been injected: %@",self);// 在此处添加你想要调试的功能// .....

}

使用快捷键command + s快捷键,之后App界面就会做出相应的修改。

当前Injection只能在模拟器上使用。

此功能在调试UI或者API时能提供很大的便利 提高开发效率

相关文章

  • iOS热重载

    InJection(热重载) 最近一段时间苦恼于UI调试,基本上就是麻木的修改运行Xcode,修改再运行Xcode...

  • iOS 热重载

    1. 工具装到应用程序 2.然后选择你的项目。 3. 重新运行项目, 4. 修改代码后 cmd+s 即可实现热重载

  • Flutter初探--常见问题汇总

    1. iOS热重载失效 Error 105 received from application: Isolate ...

  • iOS 热重载Injection

    最近一段时间苦恼于UI调试,基本上就是麻木的修改运行Xcode,修改再运行Xcode,苦恼的地方在于项目文件逐渐变...

  • iOS热重载实现

    前言 每次从开发Flutter开发切回到原生开发时候最不习惯的就是原生没有热重载功能。简单地调一下字体颜色,vie...

  • iOS:热重载之Injection

    原理介绍文章:Injection:iOS热重载背后的黑魔法 附上Injection的Github的地址 使用: 先...

  • TTPatch使用

    作用 iOS热更新、热修复、热重载、动态创建类、新增方法、扩展新界面。 体验 下载的demo工程,cd到JS目录下...

  • iOS开发-InjectionIII(热重载)

    前段时间看了戴铭大神的一篇《App 如何通过注入动态库的方式实现极速编译调试?》学到了怎么使用InjectionI...

  • iOS 如何拥有热重载极速调试?

    ⚠️ 只适用于模拟器上调试,真机无效 iOS拥有热重载的原理: Injection for XCodeGitHub...

  • Flutter列表ListView搭建

    1. 热重载 1.1 什么是热重载 Flutter热重载:在我们调试布局的时候,更改代码,模拟器上可以立即看到代码...

网友评论

      本文标题:iOS热重载

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