iOS framework踩坑之路

framework加載失敗

在真機運行,如果出現(xiàn)錯誤“dyld: Library not loaded: @rpath/XX.framework/XX,..... Reason: image not found”

  • 這是因為framework沒拷貝到ipa里面,導致運行是找不到庫,需要在General->Frameworks and Embedded Content中將framework設(shè)置為“Embed & Sign”

framework需要簽名才能用

在真機運行,如果出現(xiàn)錯誤“dyld: Library not loaded: @rpath/XX.framework/XX,Reason: no suitable image found.....Code has to be at least ad-hoc signed”

  • 這是因為framework還沒簽名,需要在生成framework的工程里,設(shè)置Signing(跟ipa簽名一樣操作)
  • 如果framework不是自己生成的,也可以在重簽名后使用。

framework版本不一致

在真機運行,如果出現(xiàn)錯誤“dyld: Library not loaded: @rpath/XX.framework/XX,..... Reason: Incompatible library version: XXX requires version 1.0.0 or later, but XXX provides version 0.0.0”

  • 這是因為項目配置的framework跟實際鏈接的framework版本不一致,需要檢查項目目錄Frameworks文件夾下的framework是否是最新的,如果framework A依賴framework B,B重新生成后,A也需要重新生成。

framwork嵌套的簽名問題

當前的項目可以給引入的 framework 進行簽名, 但是不可以給 framework 中嵌套的framework簽名, 所以如果你的動態(tài)庫嵌套其他的動態(tài)庫, 需要在你構(gòu)建動態(tài)庫的時候給他簽名, 但是這種簽名之后就無法被其他 team 使用, 所以這種嵌套簽名無效,解決方法是在項目中同時引入所有的framework,并由項目統(tǒng)一簽名。

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

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

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