话不多说。先看效果。
上图是一个简单的效果预览。实际开发中,可能还涉及到View或者cell,以及xib的更改。
经过测试只对代码布局有效。
使用该工具,无需重复run代码。仅仅通过command+s 即可0等待直接看到UI改动后的效果。
集成使用。只需三步
1.安装工具:InjectionIII gitHub地址 AppStore地址
2.配置路径 :打开InjectionIII工具,选择Open Project,选择你的代码所在的路径,然后点击Select Project Directory保存。
3.项目使用工具
3.1 设置AppDelegate.m 打开你的源码,在AppDelegate.m的didFinishLaunchingWithOptions方法添加一行代码:
#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
3.2 设置ViewController 在需要修改界面的ViewController添加方法- (void)injected
- (void)injected {
[self viewDidLoad];
}
注意
1.只能在模拟器中实现该效果
2.只能通过代码更改UI,xib和SB无效
3. - (void)injected; 可以理解为是command+s的一会回调。所以你可以在你需要调试的地方 直接加上这个函数,并在里面更改UI。
4.如果无效,可以尝试返回再重新进入需要调试的界面
5.建议在基类的VC中,直接加入 - (void)injected;