"ComponentKit "是一個(gè)非常強(qiáng)大的描述性UI框架饲化,由于國內(nèi)教程不多在這里簡(jiǎn)單做個(gè)教程豪直,拋磚引玉雇逞,希望未來能有更好更全面的教程荤懂。
開始之前,因?yàn)镃omponentKit不提供cocoaPod的方式引入工程塘砸,而是使用Carthage(迦太基)节仿。這里是Carthage的教程。我們新建工程用Carthage將ComponentKit導(dǎo)入我們的Demo工程
*不要忘記將我們的ComponentKit.framework添加到Linked Frameworks and libraries 同時(shí) Embadded Binaries谣蠢。不然 要么找不到CompoentKit 要么程序閃退*
如果你的目錄和我上面截圖一樣的話點(diǎn)擊運(yùn)行程序一個(gè)空白的應(yīng)用就跑了起來粟耻,但是不出意外的話當(dāng)你添加第一行代碼
#import <ComponentKit/ComponentKit.h>
之后無論真機(jī)還是模擬器查近,再次運(yùn)行時(shí)你的應(yīng)用程序就會(huì)報(bào)錯(cuò)
原因很簡(jiǎn)單(其實(shí)我找了一下午)眉踱,就是ComponentKit使用ObjC++編寫,而我們的Xcode編譯時(shí)不會(huì)查找內(nèi)部引用的C++庫霜威。要想找到那個(gè)<algorithm>的庫就要把你剛剛import代碼的那個(gè).m文件改成 *.mm
這時(shí)你的應(yīng)用又能跑起來了谈喳,撒花。此時(shí)的環(huán)境配置已經(jīng)完成戈泼,如果你動(dòng)手能力強(qiáng)的話可以自己嘗試寫一些簡(jiǎn)單代碼了婿禽,等我有時(shí)間會(huì)繼續(xù)分享使用ComponentKit編寫UI赏僧。
P.S. 附贈(zèng)教程(源碼調(diào)試,Xcode高手可以忽略):
因?yàn)閷?dǎo)入的是framework扭倾,這對(duì)我們調(diào)試帶來了極大的不便(我想斷點(diǎn)淀零,我想看源碼!)膛壹。這時(shí)候Carthage的一個(gè)優(yōu)點(diǎn)就出來了驾中,打開工程目錄:
看到?jīng)]?直接把ComponentKit 和ComponentTextKit 源碼拖到工程里(不要忘記移除之前導(dǎo)入的framework),這時(shí)可以源碼調(diào)試了模聋。
但但但是(太坑爹了肩民,坑好多)!所有的源碼包含頭文件的時(shí)候都是
#import <ComponentKit/*.h>
就是這個(gè)這個(gè)<ComponentKit/> 链方,它代表的含義是查找“工程目錄/ComponentKit/”路徑下的*.h文件雖然通過Xcode 的Build Settings -> Header Search?Paths可以解決持痰。但這里有個(gè)小技巧,使用Xcode的查找功能
這段這則表達(dá)式的含義是捕獲 以“<ComponentKit/ ”開頭以 “>”為結(jié)尾的字符串祟蚀,替換成 "“捕獲的字符串” " 這樣Xcode就能找到當(dāng)前工程下的所有頭文件了工窍。
對(duì)于正則表達(dá)式想進(jìn)一步了解的朋友可以參閱這里。
以上前酿,感謝移剪。