最近在使用靜態(tài)庫(kù)時(shí)蜓洪,總是出現(xiàn)這個(gè)問(wèn)題肥缔。下面總結(jié)一下我得解決方法:
1. .m文件沒(méi)有導(dǎo)入
在Build Phases里的Compile Sources 中添加報(bào)錯(cuò)的文件
2. .framework文件沒(méi)有導(dǎo)入
靜態(tài)庫(kù)編譯時(shí)往往需要一些庫(kù)的支持,查看你是否有沒(méi)有導(dǎo)入的庫(kù)文件
同樣是在Build Phases里的Link Binary With Libraries中添加
3. 重復(fù)編譯憔四,可能你之前復(fù)制過(guò)兩個(gè)地方旬昭,在這里添加過(guò)兩次,刪除時(shí)系統(tǒng)沒(méi)有默認(rèn)刪除編譯引用地址
在Build Settings里搜索Search Paths ?將里面Library Search Paths 中沒(méi)有用到的地址刪除
4. 最后一個(gè)問(wèn)題芹扭,出在靜態(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ò)宛瞄。
解決這一問(wèn)題也很簡(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)行重命名啦杯活,否則就覆蓋了匆帚。
下面打開(kāi)終端,CD到存放兩個(gè)文件的文件夾旁钧。
通過(guò)lipo[空格]-create[空格] [真機(jī)靜態(tài)庫(kù)文件名][空格] [模擬器靜態(tài)庫(kù)文件名][空格]-output[空格] [合并后的文件名]
再把這個(gè)生成的文件導(dǎo)入你的工程就可以了吸重。