-OBjC 報錯的原因

最近在使用靜態(tài)庫時,總是出現(xiàn)這個問題。下面總結(jié)一下我得解決方法:

  1. .m文件沒有導(dǎo)入
    在Build Phases里的Compile Sources 中添加報錯的文件
  1. .framework文件沒有導(dǎo)入
    靜態(tài)庫編譯時往往需要一些庫的支持,查看你是否有沒有導(dǎo)入的庫文件
    同樣是在Build Phases里的Link Binary With Libraries中添加
  1. 重復(fù)編譯,可能你之前復(fù)制過兩個地方,在這里添加過兩次,刪除時系統(tǒng)沒有默認(rèn)刪除編譯引用地址
    在Build Settings里搜索Search Paths 將里面Library Search Paths 中沒有用到的地址刪除
  1. 最后一個問題,出在靜態(tài)庫生成上面。系統(tǒng)編譯生成的靜態(tài)庫有兩個,一個真機(jī)調(diào)用的,一個模擬器調(diào)用的。
    當(dāng)你在真機(jī)測試時導(dǎo)入模擬器靜態(tài)庫,運(yùn)行就會報錯;同樣在模擬器測試時調(diào)用真機(jī)靜態(tài)庫也會報錯。

解決這一問題也很簡單,就是將兩個靜態(tài)庫合并,生成一個兼容的靜態(tài)庫。

通過Show in finder 找到兩個靜態(tài)庫文件,將兩個文件復(fù)制到一個文件夾里,當(dāng)然要進(jìn)行重命名啦,否則就覆蓋了。
下面打開終端,CD到存放兩個文件的文件夾。
通過lipo[空格]-create[空格] [真機(jī)靜態(tài)庫文件名][空格] [模擬器靜態(tài)庫文件名][空格]-output[空格] [合并后的文件名]

再把這個生成的文件導(dǎo)入你的工程就可以了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,082評論 25 709
  • 介紹 動態(tài)庫形式:.dylib和.framework 靜態(tài)庫形式:.a和.framework 動態(tài)庫和靜態(tài)庫的區(qū)別...
    齊滇大圣閱讀 46,794評論 18 251
  • 主要內(nèi)容翻譯自:《How to Create a Framework》 在iOS中如何創(chuàng)建framework呢? ...
    改個名字真麻煩閱讀 3,679評論 4 7
  • 明天又要出差了,可能這次是在現(xiàn)在單位的最后一次出差吧,有些期待,又有些不知所措!失眠了…… 出差就面臨著失眠,換個...
    OO碰到OO閱讀 291評論 0 0
  • 2002年普通高等學(xué)校招生全國統(tǒng)一考試 日語 第二部分:日語知識運(yùn)用――從A,B,C,D4個選項中選出最佳選項。 ...
    織夜閱讀 918評論 0 0

友情鏈接更多精彩內(nèi)容