InjectionIII简介:无需重启,保存即可刷新界面,方便的动态调试工具。
下载地址:injectioniii
注意:仅适用于模拟器,修改property属性需要重新编译
1.打开程序:
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
4.添加工程的监听
选择Open Project,选择你的项目
切换项目需要重做这一步,或者Open Recent切换
5.添加成功与否查看
Commond + R重新编译项目,查看控制台:
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 使用