首页 > 解决方案 > 在 Xamarin.ios 中使用 DLLImport 在真实设备上出现错误:“在仅在 aot 中运行时尝试 JIT 编译方法 'mymethod(string,string)'”

问题描述

使用最新的 Visual Studio for Mac 8.0.9。我的东西在 ios 模拟器上完美运行,调用函数,返回有效结果。

但它不适用于真实设备。设备是 iPad 第 5 代所以 arm64。使用 fat lib,lipo 验证 arm64、x86、armv7 都在那里。

我得到的错误:在仅 aot 模式下运行时尝试 JIT 编译方法“mymethod(字符串,字符串)”。

使用c# DllImport直接调用项目中的函数: [global::System.Runtime.InteropServices.DllImport("__Internal", EntryPoint = "mymethod")] public static extern global::System.IntPtr mymethod(string arg1, string arg2);

这些是静态构建的 c 库,其中没有任何通用的东西。

我在编译器中启用了优化,没有帮助。

谢谢你的帮助!

这是一个示例,其中包含用于构建 lib 的 c lib、swigger、xcode 项目和使用 pinvoke 构建的 lib 的 xamarin.ios 项目。

https://gofile.io/?c=yIvExk

标签: c#xamarinxamarin.ios

解决方案


推荐阅读