在一些純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 查看是不是有重復的,刪除錯誤的即可