开发 Xamarin表单应用程序。
要在Xamarin Forms应用程序中使用一些本机iOS控件,尝试使用Objective sharpie绑定目标c文件(.h和.a文件。),创建了本机.h和.a文件的dll。 / p>
在iOS解决方案中创建dll之后,我将其添加到引用中并创建了一个渲染器类来使用它。
问题是我无法为任何类创建实例。构建成功但是,在运行应用程序时,它会停止并显示错误,如下所示。
" 无法创建类型的本机实例' StackViewBinding.StackViewDataProvider':本机类尚未加载。 通过将ObjCRuntime.Class.ThrowOnInitFailure设置为false可以忽略此条件。"
请有人建议解决此问题。
谢谢, 普拉巴卡兰
答案 0 :(得分:0)
这可能会发生,因为本机库(.a)不包含运行所需的所有体系结构,例如,如果您在模拟器中运行但您的库(.a)仅包含设备位(armv7,arm64)它不适用于模拟器。在设备中运行时同样适用,但本机库仅包含模拟器位(i386,X86_64)。
您需要使用lipo
命令以及Xcode项目中生成的库来创建胖库。我有一篇关于如何做到这一点的非常详细的文章,你可以找到它here
希望这有帮助!