前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS开发提升效率工具之InjectionIII

iOS开发提升效率工具之InjectionIII

作者头像
用户6094182
发布2019-08-23 17:40:39
2.1K0
发布2019-08-23 17:40:39
举报
文章被收录于专栏:joealzhou

iOS开发提升效率工具之InjectionIII

前言

随着项目越来越大,每次build的时间也是在变长。当只是修改一个UI上的小问题时,比如字体、颜色、frame就要重新build再次等待一段时间,这种开发效率是大大打了折扣的,并且开发体验也不爽。使用此工具后无需重新build,修改完成后command + S,然后退出修改页面再进入就可以看到变化了。

injection-demo.gif

只支持模拟器!只支持模拟器!只支持模拟器!

前不久在App Store看到了InjectionIII更新了,有空就总结分享一下。

一、下载

在App Store搜索InjectionIII并下载。

屏幕快照 2019-08-14 17.00.45.png

二、打开工程

下载完成后打开此软件,Mac状态栏点击InjectionIII->Open Project选择你的工程文件夹然后确定Select Project Directory。操作完成后再用Xcode打开此工程。

屏幕快照 2019-08-14 17.08.44.png

屏幕快照 2019-08-14 17.08.25.png

三、配置

Xcode打开工程后,在AppDelegatedidFinishLaunchingWithOptions方法内注入InjectionIII

Xcode版本大于等于10.2如下注入:

代码语言:javascript
复制
#if DEBUG
Bundle(path: "/Applications/InjectionIII.app/Contents/Resources/iOSInjection.bundle")?.load()
//for tvOS:
Bundle(path: "/Applications/InjectionIII.app/Contents/Resources/tvOSInjection.bundle")?.load()
//Or for macOS:
Bundle(path: "/Applications/InjectionIII.app/Contents/Resources/macOSInjection.bundle")?.load()
#endif

Xcode版本10.1的如下注入:

代码语言:javascript
复制
#if DEBUG
Bundle(path: "/Applications/InjectionIII.app/Contents/Resources/iOSInjection10.bundle")?.load()
//for tvOS:
Bundle(path: "/Applications/InjectionIII.app/Contents/Resources/tvOSInjection10.bundle")?.load()
//Or for macOS:
Bundle(path: "/Applications/InjectionIII.app/Contents/Resources/macOSInjection10.bundle")?.load()
#endif

注意文件路径不能有错,如果你有什么骚操作下载的软件被你移动到其它文件夹,就要用你的路径。

四、看Xcode日志

配置完成后,run你的项目,注意查看Xcode日志。有如下输出则成功注入了,可以愉快的编码了~

代码语言:javascript
复制
? Injection connected, watching /Users/zhouqiang/Desktop/Project/AnXinCollege/**

比如我修改了SettingViewController文件,并command + S保存后日志输出如下,则代表成功了。

代码语言:javascript
复制
? *** Compiling /Users/zhouqiang/Desktop/Project/AnXinCollege/AnXinCollege/Modules/Mine/Setting/SettingViewController.swift ***
? Loading .dylib ...
objc[10121]: Class _TtC12AnXinCollege21SettingViewController is implemented in both /Users/zhouqiang/Library/Developer/CoreSimulator/Devices/A12F878C-ACF9-4D62-A82E-4D260EE7E08A/data/Containers/Bundle/Application/ABBB9C03-F6EE-4354-816E-9537D729FC8F/AnXinCollege.app/AnXinCollege (0x10709ed28) and /Users/zhouqiang/Library/Containers/com.johnholdsworth.InjectionIII/Data/eval101.dylib (0x1266d5da0). One of the two will be used. Which one is undefined.
? Loaded .dylib - Ignore any duplicate class warning ^
? Injected 'SettingViewController'

Tips

发现没有效果的同学可以参考下?

  • command + S后先退出当前界面在进入
  • 修改cell时可能要滑动一下才看到效果

此工具作者John HoldsworthGithub地址

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.08.14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • iOS开发提升效率工具之InjectionIII
    • 前言
      • 一、下载
        • 二、打开工程
          • 三、配置
            • 四、看Xcode日志
              • Tips
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档