iOS UI調試神器,插件injection for Xcode使用方法

轉自:http://www.cnblogs.com/jys509/p/5439654.html


項目越來越大,代碼編譯時間越來越長,你是不是早已經厭倦了改一點點UI佈局就要重新編譯一次項目的過程,我們一分鐘幾百萬上下的,怎能被編譯浪費掉珍貴的時間。使用injectionforxcode這款插件,提高我們編程時的效率。

先上插件的GitHub地址:injectionforxcodeGitHub地址

官方演示

看看強大的效果,即寫即看到效果:

安裝

我們可以通過Alcatraz來安裝,如果安裝成功沒有找到多出來的兩個選項,我們通過下載插件-->打開工程,編譯後,重啓Xcode。

再次打開Xcode我們可以看到Product菜單下多出了兩個選項

試驗

複製代碼
- (void)viewDidLoad {
    [super viewDidLoad];
    
    self.view.backgroundColor = [UIColor whiteColor];
    [self setupTableView];
}

-(void)injected{
    [self viewDidLoad];
}
複製代碼

要注意的是:injected,Corl + = 更新界面後,就可以看到效果。

真機調試

另外,我們想要真機調度,網上說添加腳本這些,我試了都不行。另外找到了解決方法

由於我們在模擬器裏運行了,可以看到目錄下多了一個文件夾。

第一步:

點擊”Patch Project for Injection“,插入真機的相關代碼。如果下次我們不需要真機調試了,直接點擊”Revert Injection's Changes“就可以消除了。

插入的相關代碼,我們可以在main.m文件中看到,如下圖:

第二步 方法一:

我們Crol+=運行後,發現報錯,如下:

基本意思是:真機調試,需要用戶證書,但我們的系統上綁定了多個證書,讓我們在Debug-iphoneos下綁定一個我們需要調試的真機證書即可。

我們打開文件目前,會發現多了一個”iOSInjectionProject“文件夾,我們需要找的是identity.txt這個文件

打開後,看到

之後,我們在選中綁定需要調試的真機證書,直接command + c 複製,手打的需要注意空格。

粘貼到identity.txt下。注意不要手敲,有空格的。

保存後,我們再control + =,已經成功。

第二步 方法二:

除了手動改identity.txt方式之外,還可以通過新增運行腳本方式。

1、先去 project-> Build Phases 添加一個 Run script,內容爲:

echo "$CODESIGNING_FOLDER_PATH" >/tmp/"$USER.ident" && echo "$CODE_SIGN_IDENTITY" >>/tmp/"$USER.ident" && exit;


2、修改 工程 target 的 Code Siging ,記住只修改 Any iOS SDK 後面的兩個爲 跟我們Xcode 中一樣。

3、然後到我們的工程目錄,給 iOSInjectionProject 這個文件夾刪掉。刪掉之後,com + shift + k, clean 一下工程,在運行到手機上,沒什麼問題的話,真機上就能熱調試了。

4、我們打開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 這個文件夾,重新運行又可以使用了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章