步驟一:
1:從App Store下載
在App Store搜索InjectionIII
,出來的小護士拿的針筒標誌的就是沒錯啦。
2:從github下載
Git地址,並且這麼好用的工具竟然是開!源!的!正是有了github上這麼多開源共享的大神們,代碼的世界才變得越來越簡單、高效、美好。
步驟二:
1.設置AppDelegate.m
打開你的源碼,在AppDelegate.m
的didFinishLaunchingWithOptions
方法添加一行代碼:
直接加:
[[NSBundle bundleWithPath:@"/Applications/InjectionIII.app/Contents/Resources/iOSInjection.bundle"] load];
或者加:
#if DEBUG
// iOS
[[NSBundle bundleWithPath:@"/Applications/InjectionIII.app/Contents/Resources/iOSInjection.bundle"] load];
// tvOS
//[[NSBundle bundleWithPath:@"/Applications/InjectionIII.app/Contents/Resources/tvOSInjection.bundle"] load];
// macOS
//[[NSBundle bundleWithPath:@"/Applications/InjectionIII.app/Contents/Resources/macOSInjection.bundle"] load];
#endif
2.關於要不要在ViewController.m 文件裏 里加- (void)injected 方法,我暫時沒有加:
不過你可以加上
- (void)injected{
//寫入代碼的聲明週期調用過程基本可以覆蓋所有的界面修改
[self viewWillAppear:Yes];
[self viewDidLoad];
[self viewWillDissAppear:Yes];
...
}
步驟三:
1. 打開InjectionIII工具,選擇Open Project,選擇你的代碼所在的路徑,然後點擊Select Project Directory
此時的針筒是橙黃色
沒打開前 針筒是藍色的
2.運行項目
按照第3步選擇完項目路徑後,先在Xcode Command+R運行一下你的項目,控制檯提示如下信息,即表示InjectionIII連接成功,連接成功的話InjectionIII標誌會由藍變橙(可能不同InjectionIII版本顏色不太一樣)
3 出現橙色針筒標識,表示OK了
.
需要注意的點:
1. InjectionIII工具只對模擬器有效,真機無效。
2.在injected
方法裏面修改的代碼,再次Command+R運行時不會起作用。因爲代碼裏面只聲明瞭injected方法,並沒有去調用,所以不會生效;我們Command+S保存代碼後生效,是因爲在保存後通過InjectionIII工具讀取injected
方法裏面修改的代碼,“告訴”模擬器哪兒修改了,是InjectionIII起的作用。因此我們需要把修改的代碼放到合適的位置,讓程序一運行就會執行
3.發現界面改變沒有效果的同學可以參考下:
command + S
後先退出當前界面再進入- 修改cell時可能要滑動一下纔看到效果
4.特別注意:如果你的代碼中含有React Native 的代碼,請註釋掉
//[[NSBundle bundleWithPath:@"/Applications/InjectionIII.app/Contents/Resources/iOSInjection.bundle"] load];
它會引起 點擊RN界面失靈的狀況
//------------------------------結語-------------------------------------
此工具作者John HoldsworthGithub地址。
如果運行不通,可看參考鏈接:
https://cloud.tencent.com/developer/article/1492708
https://www.jianshu.com/p/97cf5e42cb99