今天想試著邊開發(fā)邊調(diào)試framework,按如下步驟進(jìn)行了開發(fā)。
開發(fā)步驟:
1.新建了一個(gè)名叫text01的項(xiàng)目;
2.在項(xiàng)目中建了一個(gè)framework;
3.然后在ViewController中調(diào)用framework中的函數(shù)。
一切看上去很正常,那么我們來command + r 來run一下。大家來猜猜結(jié)果,是否能正常運(yùn)行~
結(jié)果有點(diǎn)出人意料,編譯失敗,控制臺打印的錯(cuò)誤是:
Unknown class _TtC6test0114ViewController in Interface Builder file.
這個(gè)錯(cuò)誤的大概意思是沒找到 ViewController 在?Interface Builder 文件中,翻譯成中文語序意思是:在創(chuàng)建用戶界面的文件中沒有找到ViewController 這個(gè)類,換言之,沒有在storyboard中找到ViewController。
既然在storyboard中沒有找到這個(gè)類,那我們就去ViewController所屬的main.storyboard中看看。 ? ? ? ?首先ViewController.h 和?ViewController.m 存在,并且main.storyboard 所指向的類是ViewController。目前為止都是和往常一樣。不過 class 下面的 Module 一欄中 寫著 text01,如圖main.storyboard屬性1.0。這里是和不平常一樣的地方。但是,我在這個(gè)項(xiàng)目中建了一個(gè)framework,也就是這個(gè)項(xiàng)目存在兩個(gè)target。我并沒有在 Module 中寫任何內(nèi)容,那 text01 應(yīng)該是我在創(chuàng)建framework時(shí)系統(tǒng)自動加上的,應(yīng)該也沒有問題。
既然沒有找到問題,那我們就再編譯一次,可能剛才是意外。
but,事實(shí)證明是我想的太少,編譯后還是報(bào)了同樣的錯(cuò)誤。再來仔細(xì)分析一次錯(cuò)誤信息,錯(cuò)誤的意思是:沒有找到?_TtC6test0114ViewController,而不是 ViewController 。
提取關(guān)鍵字,發(fā)現(xiàn)了 test01 和 ViewController 2個(gè)關(guān)鍵詞。聯(lián)想到之前發(fā)現(xiàn)的不正常的地方:Module 中多了 test01 內(nèi)容,可能就是這個(gè)地方有問題。為了印證這個(gè)猜想,再次找到 main.storyboard ,去掉了 Module 中的內(nèi)容(如圖main.storyboard屬性2.0)并再次編譯。編譯成功,問題解決。
總結(jié):解決本例中出現(xiàn)的錯(cuò)誤方法很簡單,去掉 Custom Class Module 中的內(nèi)容。
以上。