2016-04-10 9 views
1

我有一個iOS的靜態庫(u和頭文件),我想這個庫綁定到Xamarin.iOS如何爲Xamarin.iOS創建綁定?

我發現綁定步驟提上Xamarin現場here,並在此演練,他們使用的源代碼圖書館。但我只有.a文件和頭文件。

是否有可能綁定沒有源代碼的靜態庫。

+1

該指南只是使用源構建'.a'文件。剩下的工作是使用頭文件和二進制文件完成的。目標sharpie只需要標題。 –

+0

如果您閱讀該鏈接,他們將從源頭開始構建庫,然後綁定所述庫。所以這個鏈接告訴你所有你需要知道的,你只需要開始一半。 – JimBobBennett

回答

1

您不需要將源代碼綁定到Objective Sharpie。所有你需要的是.a庫和標題。

下面是一個例子:

sharpie bind -output Binding -sdk iphoneos8.1 \ 
-scope build/Headers build/Headers/SomeHeader.h \ 
-c -Ibuild/Headers -arch arm64 

目的記號筆只輸出兩個文件:Binding/ApiDefinitions.csBinding/StructsAndEnums.cs

然後根據需要調整綁定並再次運行。

調整完成後,現在可以將這兩個文件添加到Xamarin Studio中的綁定項目中,或直接傳遞到touch(iOS)或mac(MacOS X)工具以產生最終綁定。

1

是這是可能的通過目標SHARPIE(https://developer.xamarin.com/guides/cross-platform/macios/binding/objective-sharpie/

目的SHARPIE使用clang來解析其產生質量API定義的頭文件。對於Sharpie無法解析/生成的東西,您需要對自己進行標準化。這些生成的文件被稱爲ApiDefinition.csStructsAndEnums.cs

要完成此操作,可以使用sharpie bind命令。

https://developer.xamarin.com/guides/ios/advanced_topics/binding_objective-c/walkthrough/#Using_Objective_Sharpie

一旦你已經產生了相應的模板/腳手架,然後你可以通過這些物品進入bmac/btouch結合的工具,這將產生(恭敬的Mac/iOS版)所用平臺的結合。

如果您仍然遇到麻煩,這裏有一個高級的例子也應該有所幫助:

https://developer.xamarin.com/guides/cross-platform/macios/binding/objective-sharpie/examples/advanced/

相關問題