c# - 在 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 项目。
解决方案
推荐阅读
- java - Android 推送通知不适用于 5.0 棒棒糖设备?
- augmented-reality - 是否可以将增强现实和 glases 与 ARCore 集成?
- python - 如何将 scikit-learn 模型保存在 tensorflow 服务的适当扩展中?
- spring - Spring WebMVC 5 - 创建名称为“springSecurityFilterChain”的 bean 时出错
- r - 统一(0,50)与统一(0,500)的先前范围
- json - 使用正则表达式验证 json 数据文件的 Shell 代码/命令
- php - file_get_contents 返回“找不到文件”
- excel - Excel 用于运行打开和关闭的任务总数(如 Asana 进度图)
- macos - 错误:在新升级的 macOS Mojave 上运行 Vim 时路径名包含空字节
- tomcat - 如何在 Jelastic 中启用 Tomcat Web 应用程序管理器?