Injection For Xcode10 MacOS Mojave 親測可用iOS模擬器UI介面實時重新整理工具
使用Xcode最痛苦的就是使用純程式碼佈局時介面的除錯,這也是Xcode備受吐槽的一點.作為當代的前端IDE每次介面除錯卻需要重新完整的執行整App哪怕僅僅只是調整了一個字型大小也是如此.特別是在大中型專案與電腦配置比較差時,花5s時間調整一段程式碼,需要耗費5-20s來檢視最終效果.這無疑是每個iOS開發者的噩夢...

官方示例
然'鵝'國外的一位朋友通過自己的(xia)努(zhe)力(teng),為大家提供了一款介面開發神器->GitHub ofollow,noindex">Injection 可以像安卓與WEB一樣,改顏色改字型改文字,改完command + s 片刻即重新整理頁面,是不是很shuang?
具體功能及詳細使用請檢視 Injection官網
在 Mac AppStore 中也是可以搜尋下載安裝的.但是最新支援Xcode10的版本是1.2,AppStore的還未更新emmmmmm,
[Injection v1.2將在在文末提供下載地址/Demo]
xcode10用法:
Swift
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. #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 return true }
在需要修改的地方重寫injected()
@objc func injected() { //在這裡改變背景顏色試試~~ command + s 即刻呈現 }
OC
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. #if DEBUG //for iOS [[NSBundle bundleWithPath:@"/Applications/InjectionIII.app/Contents/Resources/iOSInjection10.bundle"] load]; //for tvOS [[NSBundle bundleWithPath:@"/Applications/InjectionIII.app/Contents/Resources/tvOSInjection10.bundle"] load]; //for masOS [[NSBundle bundleWithPath:@"/Applications/InjectionIII.app/Contents/Resources/macOSInjection10.bundle"] load]; #endif return YES; }
在需要修改的地方重寫- (void)injected{}
- (void)injected { NSLog(@"I've been injected: %@", self); self.view.backgroundColor = [UIColor blueColor]; for (UIView *value in self.view.subviews) { if ([value isKindOfClass:[UILabel class]]) { [value removeFromSuperview]; } } /*程式執行完成後開啟下面程式碼的註釋並儲存即可在介面上看到改變 */ //UILabel *lab = [UILabel new]; //lab.text = @"這是i一個新的label"; //lab.textColor = [UIColor whiteColor]; //lab.frame = CGRectMake(0, 0, 200, 20); //lab.center = self.view.center; //[self.view addSubview:lab]; }
支援Xcode 8.3.3安裝包: Injection
支援Xcode 9.3安裝包: Injection
支援Xcode 9.2安裝包: Injection
支援xcode10最新安裝包: Injection v1.2
示例: TestDemo
Xcode10需要將AppDelegate中的路徑修改成:
Bundle(path: "/Applications/InjectionIII.app/Contents/Resources/iOSInjection10.bundle")?.load()
1,執行Injection
2,執行演示專案將自動彈出一個資料夾選擇介面選擇專案資料夾並選中開啟Injection 勾上File Watcher即可.
介面主要的三個選項:
-
Open project //選擇需要支援實時重新整理專案的目錄
-
Open recent //最近使用的專案目錄
-
File Watcher //敲黑板 這裡必須勾上~~