iOS開發(fā)提升效率工具之InjectionIII
前言
隨著項目越來越大虽画,每次build的時間也是在變長舞蔽。當只是修改一個UI上的小問題時,比如字體码撰、顏色渗柿、frame就要重新build再次等待一段時間,這種開發(fā)效率是大大打了折扣的脖岛,并且開發(fā)體驗也不爽朵栖。使用此工具后無需重新build,修改完成后command + S
柴梆,然后退出修改頁面再進入就可以看到變化了陨溅。
只支持模擬器!只支持模擬器绍在!只支持模擬器门扇!
前不久在App Store看到了InjectionIII更新了,有空就總結(jié)分享一下偿渡。
一臼寄、下載
在App Store搜索InjectionIII
并下載。
二溜宽、打開工程
下載完成后打開此軟件吉拳,Mac狀態(tài)欄點擊InjectionIII
->Open Project
選擇你的工程文件夾然后確定Select Project Directory
。操作完成后再用Xcode打開此工程适揉。
三留攒、配置
Xcode打開工程后,在AppDelegate
的didFinishLaunchingWithOptions
方法內(nèi)注入InjectionIII
Xcode版本大于等于10.2如下注入:
#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的如下注入:
#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日志票彪。有如下輸出則成功注入了红淡,可以愉快的編碼了~
?? Injection connected, watching /Users/zhouqiang/Desktop/Project/AnXinCollege/**
比如我修改了SettingViewController
文件,并command + S
保存后日志輸出如下降铸,則代表成功了在旱。
?? *** 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
發(fā)現(xiàn)沒有效果的同學可以參考下??
-
command + S
后先退出當前界面在進入 - 修改cell時可能要滑動一下才看到效果
此工具作者John HoldsworthGithub地址