最近在使用靜態(tài)庫時(shí),總是出現(xiàn)這個(gè)問題笆制。下面總結(jié)一下我得解決方法:
- .m文件沒有導(dǎo)入
在Build Phases里的Compile Sources 中添加報(bào)錯(cuò)的文件
- .framework文件沒有導(dǎo)入
靜態(tài)庫編譯時(shí)往往需要一些庫的支持,查看你是否有沒有導(dǎo)入的庫文件
同樣是在Build Phases里的Link Binary With Libraries中添加
- 重復(fù)編譯涣达,可能你之前復(fù)制過兩個(gè)地方在辆,在這里添加過兩次,刪除時(shí)系統(tǒng)沒有默認(rèn)刪除編譯引用地址
在Build Settings里搜索Search Paths 將里面Library Search Paths 中沒有用到的地址刪除
- 最后一個(gè)問題度苔,出在靜態(tài)庫生成上面匆篓。系統(tǒng)編譯生成的靜態(tài)庫有兩個(gè),一個(gè)真機(jī)調(diào)用的寇窑,一個(gè)模擬器調(diào)用的鸦概。
當(dāng)你在真機(jī)測(cè)試時(shí)導(dǎo)入模擬器靜態(tài)庫,運(yùn)行就會(huì)報(bào)錯(cuò)甩骏;同樣在模擬器測(cè)試時(shí)調(diào)用真機(jī)靜態(tài)庫也會(huì)報(bào)錯(cuò)窗市。
解決這一問題也很簡(jiǎn)單,就是將兩個(gè)靜態(tài)庫合并饮笛,生成一個(gè)兼容的靜態(tài)庫咨察。
通過Show in finder 找到兩個(gè)靜態(tài)庫文件,將兩個(gè)文件復(fù)制到一個(gè)文件夾里福青,當(dāng)然要進(jìn)行重命名啦摄狱,否則就覆蓋了脓诡。
下面打開終端,CD到存放兩個(gè)文件的文件夾媒役。
通過lipo[空格]-create[空格] [真機(jī)靜態(tài)庫文件名][空格] [模擬器靜態(tài)庫文件名][空格]-output[空格] [合并后的文件名]
再把這個(gè)生成的文件導(dǎo)入你的工程就可以了祝谚。