使用 Objective Sharpie 建立系結
本節提供 Objective Sharpie 簡介,Xamarin 的命令行工具,用來自動化建立連結 Objective-C 庫系結的程式
概觀
Objective Sharpie 是一種命令行工具,可協助啟動系結的第一次傳遞。 其運作方式是剖析原生連結庫的頭檔,以將公用 API 對應至 系結定義 (先前已手動完成的程式)。
Objective Sharpie 會使用 Clang 來剖析頭檔,因此系結盡可能精確且徹底。 這可以大幅減少產生質量系結所需的時間和精力。
重要
Objective Sharpie 是一種工具,適用於具有進階知識 Objective-C 的資深 Xamarin 開發人員(並藉由延伸模組 C)。 嘗試系結連結 Objective-C 庫之前,您應該具備在命令行上建置原生連結庫的紮實知識(以及充分瞭解原生連結庫的運作方式)。
歷史
在過去的三年裡,我們一直在 Xamarin 內部發展並使用 Objective Sharpie。 為了證明 Objective Sharpie 的強大功能,自 iOS 8、Mac OS X 10.10 和 watchOS 2.0 完全搭配 Objective Sharpie 啟動後,Xamarin.iOS 和 Xamarin.Mac 中引進的 API。 Xamarin 嚴重依賴 Objective Sharpie 內部建置自己的產品。
不過,Objective Sharpie 是一個非常進階的工具,需要和 C 的進階知識 Objective-C 、如何在命令行上使用 clang 編譯程式,以及原生連結庫的拼湊方式。 由於這個高列,我們覺得有 GUI 精靈設定了錯誤的期望,因此 Objective Sharpie 目前只能當做命令行工具使用。