來不及編譯了诫硕,快上車...插件injectionforxcode使用方法

項目越來越大,代碼編譯時間越來越長刊侯,你是不是早已經(jīng)厭倦了改一點點UI布局就要重新編譯一次項目的過程章办,我們一分鐘幾百萬上下的,怎能被編譯浪費掉珍貴的時間滨彻。

來不及解釋了藕届,快上車...哦不,讓我們來嘗試使用injectionforxcode這款插件亭饵,提高我們編程時的效率休偶。

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

效果圖

效果圖.gif

如果不喜歡看文字,可以觀看下CocoaPods的主要貢獻者之一Orta Therox(@orta)錄制的一段使用視頻辜羊,說得也比較有趣踏兜,會讓你有感同身受的感覺。視頻鏈接(需要科學(xué)上網(wǎng)姿勢)

安裝

下載插件后在目錄下進入InjectionPluginLite文件夾八秃,并運行InjectionPlugin.xcodeproj后重啟Xcode碱妆。

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


Product.png

這樣我們就安裝成功了,讓我們來新建一個工程測試一下這個插件的效果怎么樣昔驱。

實驗

我們在ViewController中放入一個Label在viewDidLoad中給它賦值

- (void)viewDidLoad {
    [super viewDidLoad];
    [self.testLabel setText:@"FuhanyuTestString"];
}
第一次運行.png

然后我們修改viewDidLoad方法中的代碼

- (void)viewDidLoad {
    [super viewDidLoad];
    [self.testLabel setText:@"FuhanyuTestString"];
    [self.testLabel setText:@"OtherTestString"];
}

按Control + = 后出現(xiàn)一個進度條疹尾,但Label的值并未發(fā)生改變。并且在日志中出現(xiàn)以下警告


警告.png

于是我去gitHub的issues中逐個閱讀發(fā)現(xiàn)了相同的問題my injection doesn't work

而插件作者給出的回答是

作者回復(fù).png
作者回復(fù).png

也就是說需要重新在injected這個方法中調(diào)用viewDidLoad方法就可以實現(xiàn)了

- (void)injected{
    [self viewDidLoad];
}

那么對于警告怎么解決呢骤肛。我在另一個issues中找到了回復(fù)

無視

你可以無視他纳本。。萌衬。

讓我們來嘗試一下改變后是否有效 Control + =

成功.png

搞定收工饮醇,大家晚安。

補充內(nèi)容

有一位朋友提出沒寫那個變量控制面板的東西怎么使用秕豫,今晚研究了一下在此補充下朴艰。
閱讀了怎么使用tunable_parameters后我在原有的OC工程中運行試驗,顯示引用的
#import "/tmp/injectionforxcode/BundleInterface.h"
文件中有一處錯誤混移,更改后還一直有一個編譯錯誤無法解決祠墅。
于是按照文章中使用了Swift創(chuàng)建了一個工程,來試驗歌径。
如果使用控制面板毁嗦,需要點擊product->injection plug in -> path project injection 。

product->injection plug in -> path project injection.png

這樣我們就自動添加了如下代碼到main.m中
#ifdef DEBUG
#define INJECTION_ENABLED
#import "/tmp/injectionforxcode/BundleInterface.h"
#endif
由于在Swift中沒有main.m所以我們手動創(chuàng)建并且橋接它
我們也可以點進去看這個類提供的方法
@interface NSObject(INParameters)
+ (INColor * INJECTION_STRONG *)inColors;
+ (INColor *)inColor:(int)tag;
+ (float *)inParameters;
+ (float)inParameter:(int)tag;
+ (void)inSetDelegate:(id)delegate forParameter:(int)tag;
+ (void)inSetTarget:(id)target action:(SEL)action forColor:(int)tag;
@end

然后我們在Swift中加入這段代碼

import UIKit
class ViewController: UIViewController {

    @IBOutlet weak var testLabel: UILabel!
    override func viewDidLoad() {
        super.viewDidLoad()
        let doubleNumber = 1.322
        self.testLabel.text = "\(doubleNumber)"
        NSObject.inSetDelegate(self, forParameter: 0)
    }


    override func inParameter(tag: Int32, hasChanged value: Float) {
        self.testLabel.text = "\(value)"
    }

//    override func inColor(tag: Int32, hasChanged value: AnyObject!) {
//        self.testLabel.backgroundColor = value
//    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

效果圖

效果圖

這樣可以在不編譯的情況下更方便直觀的調(diào)試一些東西吧回铛,其他用法比如我注釋掉那行顏色那個狗准,因為不是很了解Swift就沒有試驗成功克锣。

至于有朋友問StoryBoard怎么用

英語不好,我實在沒看懂腔长。不過看到作者說StoryBoard支持不是很好袭祟,我就順著臺階下樓了,如果有朋友搞清楚捞附,希望能分享一下巾乳。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市鸟召,隨后出現(xiàn)的幾起案子胆绊,更是在濱河造成了極大的恐慌,老刑警劉巖欧募,帶你破解...
    沈念sama閱讀 223,207評論 6 521
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件压状,死亡現(xiàn)場離奇詭異,居然都是意外死亡跟继,警方通過查閱死者的電腦和手機何缓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,455評論 3 400
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來还栓,“玉大人,你說我怎么就攤上這事传轰∈:校” “怎么了?”我有些...
    開封第一講書人閱讀 170,031評論 0 366
  • 文/不壞的土叔 我叫張陵慨蛙,是天一觀的道長辽聊。 經(jīng)常有香客問我,道長期贫,這世上最難降的妖魔是什么跟匆? 我笑而不...
    開封第一講書人閱讀 60,334評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮通砍,結(jié)果婚禮上玛臂,老公的妹妹穿的比我還像新娘。我一直安慰自己封孙,他們只是感情好迹冤,可當(dāng)我...
    茶點故事閱讀 69,322評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著虎忌,像睡著了一般泡徙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上膜蠢,一...
    開封第一講書人閱讀 52,895評論 1 314
  • 那天堪藐,我揣著相機與錄音莉兰,去河邊找鬼。 笑死礁竞,一個胖子當(dāng)著我的面吹牛糖荒,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播苏章,決...
    沈念sama閱讀 41,300評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼寂嘉,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了枫绅?” 一聲冷哼從身側(cè)響起泉孩,我...
    開封第一講書人閱讀 40,264評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎并淋,沒想到半個月后寓搬,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,784評論 1 321
  • 正文 獨居荒郊野嶺守林人離奇死亡县耽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,870評論 3 343
  • 正文 我和宋清朗相戀三年句喷,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片兔毙。...
    茶點故事閱讀 40,989評論 1 354
  • 序言:一個原本活蹦亂跳的男人離奇死亡唾琼,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出澎剥,到底是詐尸還是另有隱情锡溯,我是刑警寧澤,帶...
    沈念sama閱讀 36,649評論 5 351
  • 正文 年R本政府宣布哑姚,位于F島的核電站祭饭,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏叙量。R本人自食惡果不足惜倡蝙,卻給世界環(huán)境...
    茶點故事閱讀 42,331評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望绞佩。 院中可真熱鬧寺鸥,春花似錦、人聲如沸品山。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,814評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谆奥。三九已至眼坏,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背宰译。 一陣腳步聲響...
    開封第一講書人閱讀 33,940評論 1 275
  • 我被黑心中介騙來泰國打工檐蚜, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人沿侈。 一個月前我還...
    沈念sama閱讀 49,452評論 3 379
  • 正文 我出身青樓闯第,卻偏偏與公主長得像,于是被迫代替她去往敵國和親缀拭。 傳聞我的和親對象是個殘疾皇子咳短,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,995評論 2 361

推薦閱讀更多精彩內(nèi)容