項目愈來愈大,代碼編譯時間愈來愈長,你是否是早已經厭倦了改一點點UI佈局就要從新編譯一次項目的過程,咱們一分鐘幾百萬上下的,怎能被編譯浪費掉珍貴的時間。使用injectionforxcode這款插件,提升咱們編程時的效率。git
先上插件的GitHub地址:injectionforxcodeGitHub地址github
看看強大的效果,即寫即看到效果:編程
咱們能夠經過Alcatraz來安裝,若是安裝成功沒有找到多出來的兩個選項,咱們經過下載插件-->打開工程,編譯後,重啓Xcode。xcode
再次打開Xcode咱們能夠看到Product菜單下多出了兩個選項iphone
- (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor whiteColor]; [self setupTableView]; } -(void)injected{ [self viewDidLoad]; }
要注意的是:injected,Corl + = 更新界面後,就能夠看到效果。ide
另外,咱們想要真機調度,網上說添加腳本這些,我試了都不行。另外找到了解決方法佈局
因爲咱們在模擬器裏運行了,能夠看到目錄下多了一個文件夾。ui
點擊」Patch Project for Injection「,插入真機的相關代碼。若是下次咱們不須要真機調試了,直接點擊」Revert Injection's Changes「就能夠消除了。spa
插入的相關代碼,咱們能夠在main.m文件中看到,以下圖:插件
咱們Crol+=運行後,發現報錯,以下:
基本意思是:真機調試,須要用戶證書,但咱們的系統上綁定了多個證書,讓咱們在Debug-iphoneos下綁定一個咱們須要調試的真機證書便可。
咱們打開文件目前,會發現多了一個」iOSInjectionProject「文件夾,咱們須要找的是identity.txt這個文件
打開後,看到
以後,咱們在選中綁定須要調試的真機證書,直接command + c 複製,手打的須要注意空格。
粘貼到identity.txt下。注意不要手敲,有空格的。
保存後,咱們再control + =,已經成功。
除了手動改identity.txt方式以外,還能夠經過新增運行腳本方式。
一、先去 project-> Build Phases 添加一個 Run script,內容爲:
echo "$CODESIGNING_FOLDER_PATH" >/tmp/"$USER.ident" && echo "$CODE_SIGN_IDENTITY" >>/tmp/"$USER.ident" && exit;
二、修改 工程 target 的 Code Siging ,記住只修改 Any iOS SDK 後面的兩個爲 跟咱們Xcode 中同樣。
三、而後到咱們的工程目錄,給 iOSInjectionProject 這個文件夾刪掉。刪掉以後,com + shift + k, clean 一下工程,在運行到手機上,沒什麼問題的話,真機上就能熱調試了。
四、咱們打開identity.txt文件,看到裏面自動幫咱們添加上了證書。
1.沒有選中要編譯的文件。咱們須要選擇當前須要調試的controller文件。
2.運行沒有效果。加上:
-(void)injected{ [self viewDidLoad]; }
3.真機調試,仍是報證書不對,如:
請檢查一下,你的須要真機調試的證書,是否是安裝了兩次,若是安裝了兩次,也會提示說證書選擇有誤,請只保留其中一個。
4.IP地址不正確
這個錯誤指的是沒有權限操做IP。
咱們在真機調試的時候,會在main.m中插入如下代碼:
第一個和第二個IP地址,指向的是外網的IP。外網的IP,咱們是沒有權限操做的,只須要把這兩個IP刪除掉便可。如
static const char *_inIPAddresses[] = {"192.168.1.105", "127.0.0.1", 0};
該插件只容許咱們使用兩週,若是使用到期,咱們只須要刪除 iOSInjectionProject 這個文件夾,從新運行又可使用了。