InjectionIII 开发神器终于等到你了
一直比较喜欢 Android 开发搭建界面真的是快啊, 羡慕不来慢慢的也就习惯了 , 直到遇到了 神器 InjectionIII
快速入门
- InjectionIII安装非常简单,只需要在app store中搜索InjectionIII即可下载
- 打开 InjectionIII , 选中-> Open Project -> 打开你要的项目
屏幕快照 2020-01-23 下午7.04.06.png -
在项目application 中插入
屏幕快照 2020-01-23 下午7.20.48.png
#if DEBUG
[[NSBundle bundleWithPath:@"/Applications/InjectionIII.app/Contents/Resources/iOSInjection.bundle"] load];
#endif
- 在基类 ViewController 里面 添加代码
+ (void)load {
#if DEBUG
//注册项目启动监听
__block id observer =
[[NSNotificationCenter defaultCenter] addObserverForName:UIApplicationDidFinishLaunchingNotification object:nil queue:nil usingBlock:^(NSNotification * _Nonnull note) {
//bundlePath
[[NSBundle bundleWithPath:@"/Applications/InjectionIII.app/Contents/Resources/iOSInjection.bundle"] load];
[[NSNotificationCenter defaultCenter] removeObserver:observer];
}];
class_addMethod([NSObject class], NSSelectorFromString(@"injected"), (IMP)injected, "v@:");
#endif
}
/**
InjectionIII 热部署会调用的一个方法,
runtime给VC绑定上之后,每次部署完就重新viewDidLoad
*/
void injected (id self, SEL _cmd) {
//vc 刷新
if ([self isKindOfClass:[UIViewController class]]) {
[self loadView];
[self viewDidLoad];
[self viewWillLayoutSubviews];
[self viewWillAppear:NO];
}
//view 刷新
else if ([self isKindOfClass:[UIView class]]){
UIViewController *vc = self;
if (vc && [vc isKindOfClass:[UIViewController class]]) {
[vc loadView];
[vc viewDidLoad];
[vc viewWillLayoutSubviews];
[vc viewWillAppear:NO];
}
}
}
- 启动项目 看到这个你就成功了 (当然如果没有 检查一下配置, 重启一下电脑 基本能解决问题)
[图片上传中...(WeChat7497cc58d40fea59c05d8f783bdb2832.png-f891cf-1579779107708-0)]
好了, 修改代码 comd + s 去爽吧
网友评论