plist文件無法打包進.a靜態庫中

問題:

之前一直在做靜態庫的編寫與維護,也一直知道靜態庫的圖片資源是沒辦法打進.a中的。但是突然有個想法,因爲有很多參數的配置是在一個plist文件中的,雖然也知道這是一個plist文件,但是想想和圖片資源還是有一定區別的,所以就嘗試着能否把plist打進靜態庫中。

分析:

1. 創建了一個簡單的生成靜態庫的功能,然後公開了一個接口,用來輸出讀取plist文件的結果。

2. 創建一個簡單的工程,來使用上一步生成的.a文件,然後調用那個公開的接口。

3. 結果是無法讀取,輸出爲null。

4. 後面又嘗試將plist文件拖到Target的Build Phases下的Compile Sources中,因爲這個下面的文件都是會編譯進.a文件中的;

5. 重複2和3,結果還是不行。

結論:

plist文件是資源文件,無法打進.a中。還是那句話,無論是 .a 靜態庫還是 .framework 靜態庫,最終需要的都是:二進制文件 + .h + 其它資源文件。

解決方法:

1. 直接將plist文件和.a一起拖入到自己的工程中;

2. 將plist文件拖入到資源束bundle中。

補充一個創建bundle的簡單方法:新建一個文件夾,修改擴展名爲 .bundle 即可,右擊bundle文件,顯示包內容,就可以往bundle文件中放東西。

建議:自己製作的靜態庫中要用到的圖片資源,不建議直接以png的後綴名方式拖到項目中使用,而是推薦使用放到bundle文件中。這樣可以避免靜態庫的圖片名和使用靜態庫的項目中存在的圖片產生衝突。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章