iOS 热重载Injection

作者: Magician | 来源:发表于2018-06-13 16:54 被阅读1165次

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

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

首先是原理介绍文章:
Injection:iOS热重载背后的黑魔法

Injection 也在Github上 https://github.com/johnno1962/injectionforxcode

使用方法也简单:

先去商店下载并启动App


Injection.png

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

#if DEBUG
    // 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

最后,在自定义文件中添加方法 injected:

- (void)injected
{
    NSLog(@"I've been injected: %@", self);
    // 自定义修改
    // .....
}

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

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

相关文章

  • iOS:热重载之Injection

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

  • iOS 热重载Injection

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

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

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

  • Injection:iOS热重载-所见即所得

    github原文链接 在介绍这款工具之前首先得感谢John Holdsworth开发者给我们iOS开发提供了帮助 ...

  • iOS热重载

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

  • iOS 热重载

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

  • iOS App 通过注入动态库的方式实现极速编译调试

    Injection 支持OC、Swift以及Swift和OC混编项目的UI热重载工具,采取在模拟器(真机不支持)注...

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

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

  • iOS热重载实现

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

  • TTPatch使用

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

网友评论

    本文标题:iOS 热重载Injection

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