ios編譯a文件
⑴ ios a靜態庫創建需要注意什麼
在開發過程中,經常會碰到一些在不同工程中經常用到的部分,把這些部分抽取出來做成一個靜態庫往往是一個比較好的做法。xcode里就有製作靜態庫的模板,相關的製作步驟網上也有很多,但在實際的操作中,還是有不少細節方面需要注意。以下是我碰到的一些問題總結。
1.編譯release版本的庫
在「Manage Schemes」中,將「Build Configuration」的選項改為「Release」即可。如圖:
2.靜態庫中包含category
如果你在靜態庫工程中使用了category,那麼你可能會碰到鏈接問題,解決的辦法就是需要同時在生成靜態庫的工程和使用靜態庫的工程中使用「-all_load」編譯選項,即在對應target的"Build Settings"中的「Other Linker Flags」選項添加「-all_load」。注意:使用靜態庫的工程中是一定要加該編譯選項的!!至於生成靜態庫的工程中加不加沒有試過,不過建議還是加上該編譯選項。
3.靜態庫支持的SDK版本
為了使自己的靜態庫盡可能多的支持IOS的系統版本,應該在"IOS Deployment Target"這個選項中選擇自己所需的IOS版本。設置如下圖,這個是我的靜態庫工程中的配置,紅框框起來的是我修改過的選項。
4.自動拷貝頭文件
在工程對應的target的「Build Phases」下添加「Copy Headers」的選項。該選項默認是沒有的,添加方法是點擊下方的「Add Build Phase」按鈕後選擇後即可添加。該選項下有3個子選項,分別是Public,Private,Project。通過點擊下方的加號,可以將工程中的頭文件添加到「Project」中,在其中的對應頭文件點擊右鍵,選擇「Move to Public Group」,當頭文件移到「Pulic」後,編譯工程以後,在工程編譯後.a文件所在的路徑下,會同時出現一個"usr/local/include"的文件夾,其中的頭文件就是public group中的頭文件。這時只需將.a文件和這個路徑下的頭文件拷貝到所需工程文件即可。
轉載
⑵ ios平台下live555靜態庫的編譯及打包成.a文件
因為你執行的是./genMakefiles iphoneos ,所以得到的.a文件只支持真機環境下,同理執行./genMakefiles iphone-simulator,得到的是支持模擬器環境下的.a文件,編譯結束最終得到支持真機和模擬器下的四個.a文件,如下圖:
如何打包成一個靜態庫.a文件,請參考 http://blog.csdn.net/qq_26968709/article/details/51164104
如果需要打包好的庫文件,直接下面留言。
⑶ ios中怎麼調用a文件里的內容
ios中後綴名為a的文件是編譯好的二進制文件,一般是第三方為了保密代碼而使用的。a文件里邊的內容是沒法看懂的,只有配合.h頭文件,知道它有哪些暴露出來的屬性或者函數才能調用。調用方法和平時使用 .h .m 文件一樣,只是你看不見.m里邊的代碼而已。
⑷ ios a靜態庫 能反編譯嗎
.a靜態庫不能進行反編譯,反匯編的可能性也極低。
靜態庫:靜態庫僅在程序啟動時被連接使用,程序運行時將不再需要該靜態庫。
與靜態庫相對的是動態庫:程序編譯時並不會被連接到目標代碼中,而是在程序運行是才被載入,因此在程序運行時還需要動態庫存在。