2012-01-31 87 views
11

我已經爲第三方供應商提供了iPhone硬件附件的框架。所以我有一個像Device.framework這樣的文件夾。該文件夾內是一個二進制文件和一組.h文件。有關於如何將其添加到iOS項目並使用其中包含的類的說明。但是,我實際上使用MonoTouch並希望使用靜態庫。如何從iOS中的現有框架創建靜態庫?

有沒有辦法創建一個靜態庫,使靜態庫中的框架中的所有類都可用?因此,在我的MonoTouch項目中,我將鏈接到靜態庫並訪問該框架。

回答

12

A * .framework只是一個包含以下內容的包:靜態庫,頭文件,關聯的元數據。複製並粘貼.framework並提取靜態* .a文件和相關頭文件。

然後,只需使用MonoTouch btouch工具將靜態庫綁定到您的MonoTouch項目中即可。如何將本機庫綁定到Github上的MonoTouch,有一個很好的例子。隨着瞄準模擬器+設備,並使用LinkWith屬性嵌入靜態庫在單一的* .dll指導:

此外,請務必在這裏檢查出btouch參考文檔:

+0

我接受這一個作爲答案,因爲它有鏈接到BindingSample這是有用的。感謝這兩個人花時間回覆 – 2012-01-31 23:10:00

+0

@JWB與你最新的upvote(我的;-)你現在有足夠的聲望點upvote兩個答案:-) – poupou 2012-02-01 01:22:35

7

將該二進制文件重命名爲Device.a。你可以這樣做,因爲你提到的框架不是由Apple完成的,因此它必須是一個靜態庫,而不是一個動態庫。

確保您的項目鏈接該庫(Device.a)。

將標題包含在您的項目中並在適當的地方引用它們。

+3

我重命名的文件如你所說,做'nm filename.a',我確實可以看到那裏的所有類。我需要做進一步的工作來檢查它是否正確地掛在一起,但它看起來不錯。謝謝 – 2012-01-31 23:02:56

+0

哇,我不知道的有用的瑣事! – jstedfast 2012-02-01 02:15:11