Swift OC动态调试工具 InjectionIII 使用

InjectionIII简介:无需重启,保存即可刷新界面,方便的动态调试工具。

下载地址:injectioniii

注意:仅适用于模拟器,修改property属性需要重新编译

1.打开程序:

image

2.添加引用:

Swift

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.
        #if DEBUG
        // 把InjectionIII.app换成InjectionX.app
        Bundle(path: "/Applications/InjectionIII.app/Contents/Resources/iOSInjection.bundle")?.load()
        #endif
        return true
    }

Objective-C

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    #if DEBUG
    // 用于在Debug模式下使用InjectionIII进行调试,只在模拟器和Debug模式且电脑安装了 InjectionIII 时生效
    [[NSBundle bundleWithPath:@"/Applications/InjectionIII.app/Contents/Resources/iOSInjection.bundle"] load];
    #endif

    return YES;
}

3.添加Other Linker Flags:-Xlinker-interposable

image

4.添加工程的监听

选择Open Project,选择你的项目

image

切换项目需要重做这一步,或者Open Recent切换

5.添加成功与否查看

Commond + R重新编译项目,查看控制台:

image

6.使用

说明:
方式一:每次保存,Commond + S,都会触发injected这个方法,在这个方法里面去刷新界面、动态改变界面
方式二:界面跳转,界面重新绘制,或者重新初始化的情况下可以不使用injected方法,比方说可以push或者present到个新的界面,在新的界面上改了后,回退再进来就能直接看到改变。

injected使用示例如下:
Objective-C

- (void)injected {
    NSLog(@"reloadUI");
    [self viewDidLoad];
    [self viewWillAppear:YES];
    [self selfDefineMethod];
    self.view.backgroundColor = [UIColor whiteColor];
}

Swift

    @objc func injected() {
        viewDidLoad()
    }

注意:@objc 不能少

Swift5 字符串(String)操作
Swift5 字符(Character)操作
Swift5 数组(Array)操作
Swift5 字典(Dictionary)操作
Swift5 集合(Set)操作
Swift5 简单使用
Swift OC动态调试工具 InjectionIII 使用

作者:圣艾修