oc使用pods導入時使用use_frameworks!報錯

在一些純oc項目中,我們在導入一些三方庫的時候,難免會遇到一些swift的庫,這時候需要使用use_frameworks!這個關鍵語句,其實這句話的意思就是允許動態(tài)庫的連接,在xcode6以前,我們導入的三方基本都是靜態(tài)庫,導入成功以后,一般會自動在項目里面添加.a的文件

但是現在使用一些三方的時候,github的項目界面會推薦我們在下載庫之前加上use_frameworks!這句話,這就導致會在項目里形成.framework的文件

一些新項目倒還好,如果有的老項目,之前使用的靜態(tài)庫,但是使用use_frameworks!下載安裝新庫以后,有時候會發(fā)現一些問題,筆者把自己遇到的總結了一下,供大家參考:

1 使用這個會把以前的pod打包成framework而不是.a,所以某些文件引入的時候會報頭文件找不到的問題

例子#import報錯,需要改成@import

2 部分pod的三方文件資源再使用[NSBundle mainBundle] pathForResource放的的時候,找不到路徑,導致程序閃退,暫時的解決辦法如下

這是原來會閃退的源文件寫法

找不到TSMessages這個三方里面的TSDesignFileName.json資源文件

NSString *path =[[NSBundle mainBundle]pathForResource:TSDesignFileName ofType:@"json"];

修改成如下就可以解決,但是要記住在下一次podinstall之后進行修改

NSString *path =[[NSBundle mainBundle]pathForResource:[NSString stringWithFormat:@"Frameworks/TSMessages.framework/%@",TSDesignFileName]ofType:@"json"];

3 頭文件找不到 還要查看是不是查找路徑有問題

點開other links flags 查看是不是有重復的,刪除錯誤的即可

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

相關閱讀更多精彩內容

友情鏈接更多精彩內容