簡體   English   中英

Xcode:如何正確構建靜態庫項目?

[英]Xcode: how to build a static library project correctly?

這個問題對於Xcode專業人員來說很容易,但對於MonoTouch開發人員來說似乎無法解決。 :-)

我正在使用Xcode 4.5,我想要iOS 5.1及以上版本以及iOS模擬器5.1及更高版本。

我在這里有一個庫項目,它帶有一個名為“DemoLib”的預構建二進制文件(沒有擴展名,大小為11MB)。 該庫是Simulator和iOS 5.1+的胖庫。 我可以毫無問題地使用該庫。 但是,如果我自己嘗試構建庫,我最終得到一個“DemoLib.a”文件(請注意擴展名和30MB的大小)。 如何獲得相同的構建結果? 與沒有擴展名的文件相比,什么是.a文件? 我試圖在Xcode中構建項目“for running”和“for archiving”。 兩者都產生相同的30MB .a文件。 我期待在Xcode中有一些下拉,其中一個可以選擇“DEBUG”或“RELEASE”構建,后一個將創建較小的lib。

當然,如果沒有看到框架的項目文件,我永遠無法分辨。 話雖如此,這里有一個很好的指南來創建和編譯iOS框架: https//github.com/jverkoey/iOS-Framework

使用上面的指南,您應該能夠從頭開始重新創建框架的項目,添加您擁有的文件,並正確編譯它。

希望這可以幫助! :)

它帶有Makefile嗎? 創建一個新目標,將目標的構建設置設置為Makefile中的內容,然后將項目設置為依賴於該新目標。

帶有.a​​的文件是一個靜態庫,這意味着它不依賴於任何外部資源,它所需的所有代碼都在其中編譯。 我認為沒有擴展通常意味着動態庫,這意味着它將取決於系統上存在的一些依賴關系。 也許這就是.a如此大的原因。 我認為Xcode默認會構建靜態,因為iOS不允許使用動態庫。

構建內容的下拉列表在您的方案中。 Command + shift + <查看您的方案。 在該方案中,您可以編輯每個建築方法將使用的環境。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM