[ios][] MonoTouch[Bass.dll] 应用程序崩溃"到 JIT 编译方法尝试......同时 — — aot 仅使用运行"

标签: dll ios
发布时间: 2014/2/20 0:41:33
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

面临的问题,我不能解决了 3 天,你就是我最后的希望。

我的目标是要与 Bass.dll 录音 (有特殊版本的 iPhone 的图书馆和版本的.net 包装为它 ; 可以在这里找到: un4seen.com)

仿真程序的工作原理 (或似乎正常工作)。但当我试图在 iPhone 上运行它时我有此错误:

"到 JIT 编译方法尝试 '(本机托管包装) RecordingAudioHelloWorld.Player:recordingHandler (int,intptr,int,intptr)' — — aot 仅与运行时。"

在这里发生错误:

RECORDPROC _recordingHandler = new RECORDPROC(recordingHandler);

_record = Bass.BASS_RecordStart(16000, 1, BASSFlag.BASS_SPEAKER_RIGHT, _recordingHandler, IntPtr.Zero); // <-- ERROR!!!

private int recordingHandler (int handle, IntPtr buffer, int length, IntPtr user)
{
//....
}

当我读到这里,就这么说,我更改了链接器行为向"链接 SDK 程序集仅",但它没有任何影响。

有什么我可以用它做吗?

解决方法 1:

尝试将MonoPInvokeCallback属性添加到您的 recordingHandler 函数。请注意您还需要以使静态函数。YourDelegateType应该是你在 C# 中对应于此方法的签名定义的委托类型。

[MonoPInvokeCallback (typeof(YourDelegateType)]
private static int recordingHandler (int handle, IntPtr buffer, int length, IntPtr user)
{
// ...
}
赞助商