2016-06-08 118 views
0

開發Xamarin Forms應用程序。XAMARIN Forms創建綁定DLL

爲了在Xamarin Forms應用程序中使用一些原生的iOS控件,試圖使用客觀的sharpie綁定目標c文件(.h和.a文件),創建了原生.h和.a文件的dll。

在iOS解決方案中創建dll之後,我將它添加到引用中,並創建了一個渲染器類來使用它。

問題是我無法爲任何類創建實例。構建成功,但在運行應用程序時,它停止並顯示如下錯誤。

無法創建類型的原生性實例‘StackViewBinding.StackViewDataProvider’:本機類尚未加載 有可能通過ObjCRuntime.Class.ThrowOnInitFailure設置爲false忽略這個條件。」

請任何人建議來解決這個問題。

感謝, 普拉巴卡蘭

+0

你正在設備或模擬器上調試嗎? – kyurkchyan

回答

0

這可能會發生,因爲本機庫(.a)中不包含運行所需的所有架構,例如,如果你在模擬器中運行,但你的庫(.a)中只包含設備位(armv7,arm64),它不能在模擬器上工作。在設備中運行時,同樣適用,但本機庫僅包含仿真器位(i386,X86_64)。

您需要使用lipo命令和Xcode項目生成的庫來創建一個胖庫。我有一個關於如何做到這一點的非常詳細的帖子,你可以找到它here

希望這有助於!

+0

是的......這是使用設備,但不是在模擬器上。現在我遇到的問題與HealthKitUI框架如下, 「您的應用程序使用HealthKitUI框架和您的設備沒有兼容的SDK版本9.3」 但是,我沒有在我的應用程序中使用任何HealthKitUI。 –