介紹
Injection Plugin For Xcode 是 Xcode 上的一個插件抓艳。利用它可以修改應用代碼触机,實時在模擬器或?qū)崣C上看到效果而不需要重啟應用。
安裝
下載Injection?github地址
安裝后玷或,重啟Xcode儡首,會發(fā)現(xiàn)在 Product 菜單下多了兩個選項:
點擊 Product > 你的工程名 > Patch Project for Injection 選項, 之后插件會在 Prefix.pch 和 main.m 中插入兩段代碼。這不會影響程序原有代碼偏友,如果要還原蔬胯,隨時可以通過點擊 Revert Injection’s Changes 選項來還原。
基本使用
我們做一個很簡單的應用约谈,其有一個 UIButton 和一個 UILabel笔宿,當點擊 button 后犁钟,label 顯示一段文本,ViewController 的代碼如下:
運行后泼橘,點擊按鈕涝动,效果如圖所示:
之后我們修改代碼,將賦給 label 的字符串改為:
self.label.text = @"阿布錢多到花不完";
但區(qū)別于一般的使用 CMD+R 來重新編譯并運行程序炬灭,這次我們使用 control= 這個快捷鍵來注入醋粟。
注入完成后,修改的類的代碼就生效了重归,點擊模擬器中應用的按鈕試試米愿。
真機調(diào)試
真機調(diào)試涉及到證書問題,需要告訴 bundle project 正確的證書鼻吮∮叮可以通過在工程文件中添加以下 RunScript 實現(xiàn):
echo "$CODESIGNING_FOLDER_PATH" >/tmp/"$USER.ident" && echo "$CODE_SIGN_IDENTITY" >>/tmp/"$USER.ident" && exit;
之后就可以正確在真機上使用了。如果依然出現(xiàn)證書錯誤椎木,嘗試刪除工程文件夾里的 iOSInjectionProject 目錄违柏。