plist檔案無法打包進 a靜態庫中

2021-09-07 13:29:29 字數 774 閱讀 9740

問題:

之前一直在做靜態庫的編寫與維護,也一直知道靜態庫的資源是沒辦法打進.a中的。可是突然有個想法。由於有非常多引數的配置是在乙個plist檔案裡的。儘管也知道這是乙個plist檔案,可是想想和資源還是有一定差別的。所以就嘗試著是否能把plist打進靜態庫中。

分析:

1. 建立了乙個簡單的生成靜態庫的功能,然後公開了乙個介面。用來輸出讀取plist檔案的結果。

2. 建立乙個簡單的project,來使用上一步生成的.a檔案,然後呼叫那個公開的介面。

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

4. 後面又嘗試將plist檔案拖到target的build phases下的compile sources中。由於這個以下的檔案都是會編譯進.a檔案裡的;

5. 反覆2和3,結果還是不行。

結論:

plist檔案是資源檔案,無法打進.a中。還是那句話,不管是 .a 靜態庫還是 .framework 靜態庫。終於須要的都是:二進位制檔案 + .h + 其他資源檔案。

解決方法:

1. 直接將plist檔案和.a一起拖入到自己的project中;

2. 將plist檔案拖入到資源束bundle中。

補充乙個建立bundle的簡單方法:新建乙個目錄,改動擴充套件名為 .bundle 就可以,右擊bundle檔案,顯示包內容,就能夠往bundle檔案裡放東西。

建議:自己製作的靜態庫中要用到的資源。不建議直接以png的字尾名方式拖到專案中使用,而是推薦使用放到bundle檔案裡。這樣能夠避免靜態庫的名和使用靜態庫的專案中存在的產生衝突。

Iphone開發中無法讀取plist檔案的問題

有的書籍上關於要讀取plist檔案的說明是 先要在xcode檔案中建乙個plist檔案,然後把根型別改為陣列,用下面的 即可 nsstring path nsbundle mainbundle pathforresource drinkarray oftype plist build the arr...

任意檔案打包進apk

預設情況android工程下的assets目錄下的所有檔案都會原封不動的打包進apk中,但apk安裝後這些檔案卻不會解包出來。只能使用inputstream和fileoutputstream將這些檔案寫入到需要的位置。inputstream is getresources getassets ope...

C 將dll打包進exe dll靜態引用

1 在專案中建立資料夾並將需要打包的dll放進資料夾中 這裡我建立了乙個資料夾 res並將需要打包的dll檔案 a.dll 新增進此資料夾中。vs中設定dll檔案的屬性 生成操作 為 嵌入的資源 2 在exe的入口或者窗體的建構函式中新增如下 新增程式集解析事件 system.reflection....