我的問題出現(xiàn)是我直接在項(xiàng)目中右鍵添加了一個(gè)文件夾隧土。把其中一些文件直接拖入這個(gè)文件夾,提交到了服務(wù)器命爬。
但是當(dāng)我從服務(wù)器down下來(lái)的時(shí)候曹傀,打開工程發(fā)現(xiàn),報(bào)紅饲宛,找不到文件皆愉。但是項(xiàng)目運(yùn)行沒問題。
于是我在Finder重新找到報(bào)紅文件,把它c(diǎn)opy出來(lái)幕庐,從外部拖入添加久锥。
再次運(yùn)行,就出現(xiàn)了上面的問題异剥。
問題1:.m文件沒有導(dǎo)入
在Build Phases里的Compile Sources 中添加報(bào)錯(cuò)的文件
點(diǎn)擊左下角的+號(hào)瑟由,直接搜索.m文件,逐個(gè)添加進(jìn)去
再次運(yùn)行冤寿,就沒有問題了
問題2:.framework文件沒有導(dǎo)入
靜態(tài)庫(kù)編譯時(shí)往往需要一些庫(kù)的支持歹苦,查看你是否有沒有導(dǎo)入的庫(kù)文件
同樣是在Build Phases里的Link Binary With Libraries中添加
點(diǎn)擊左下角的+號(hào),查看有沒有遺漏的
問題3:重復(fù)編譯
可能你之前復(fù)制過(guò)兩個(gè)地方督怜,在這里添加過(guò)兩次殴瘦,刪除時(shí)系統(tǒng)沒有默認(rèn)刪除編譯引用地址
在Build Settings里搜索Search Paths 將里面Library Search Paths 中沒有用到的地址刪除
問題4:出在靜態(tài)庫(kù)生成上面
系統(tǒng)編譯生成的靜態(tài)庫(kù)有兩個(gè),一個(gè)真機(jī)調(diào)用的号杠,一個(gè)模擬器調(diào)用的痴施。
當(dāng)你在真機(jī)測(cè)試時(shí)導(dǎo)入模擬器靜態(tài)庫(kù),運(yùn)行就會(huì)報(bào)錯(cuò)究流;同樣在模擬器測(cè)試時(shí)調(diào)用真機(jī)靜態(tài)庫(kù)也會(huì)報(bào)錯(cuò)辣吃。
解決這一問題也很簡(jiǎn)單,就是將兩個(gè)靜態(tài)庫(kù)合并芬探,生成一個(gè)兼容的靜態(tài)庫(kù)神得。
通過(guò)Show in finder 找到兩個(gè)靜態(tài)庫(kù)文件,將兩個(gè)文件復(fù)制到一個(gè)文件夾里偷仿,當(dāng)然要進(jìn)行重命名啦哩簿,否則就覆蓋了。
下面打開終端酝静,CD到存放兩個(gè)文件的文件夾节榜。
通過(guò)lipo[空格]-create[空格] [真機(jī)靜態(tài)庫(kù)文件名][空格] [模擬器靜態(tài)庫(kù)文件名][空格]-output[空格] [合并后的文件名]
再把這個(gè)生成的文件導(dǎo)入你的工程就可以了。