最近在使用靜態(tài)庫時嘁扼,總是出現(xiàn)這個問題姑裂。下面總結(jié)一下我得解決方法:
- .m文件沒有導入
在Build Phases里的Compile Sources 中添加報錯的文件
- .framework文件沒有導入
靜態(tài)庫編譯時往往需要一些庫的支持馋袜,查看你是否有沒有導入的庫文件
同樣是在Build Phases里的Link Binary With Libraries中添加
-
重復編譯,可能你之前復制過兩個地方舶斧,在這里添加過兩次欣鳖,刪除時系統(tǒng)沒有默認刪除編譯引用地址
在Build Settings里搜索Search Paths 將里面Library Search Paths 中沒有用到的地址刪除
最后一個問題,出在靜態(tài)庫生成上面茴厉。系統(tǒng)編譯生成的靜態(tài)庫有兩個泽台,一個真機調(diào)用的,一個模擬器調(diào)用的矾缓。
當你在真機測試時導入模擬器靜態(tài)庫怀酷,運行就會報錯;同樣在模擬器測試時調(diào)用真機靜態(tài)庫也會報錯嗜闻。
解決這一問題也很簡單蜕依,就是將兩個靜態(tài)庫合并,生成一個兼容的靜態(tài)庫泞辐。
通過Show in finder 找到兩個靜態(tài)庫文件笔横,將兩個文件復制到一個文件夾里竞滓,當然要進行重命名啦咐吼,否則就覆蓋了。
下面打開終端商佑,CD到存放兩個文件的文件夾锯茄。
通過lipo[空格]-create[空格] [真機靜態(tài)庫文件名][空格] [模擬器靜態(tài)庫文件名][空格]-output[空格] [合并后的文件名]