Unity/Monotouch/C# で iOS 用 Facebook のチャットクライアントを作成しようとしています。次のエラーが表示されます
ExecutionEngineException: Attempting to JIT compile method '(wrapper managed-to-native)
System.Threading.Interlocked:CompareExchange
(System.EventHandler`1<Matrix.EventArgs>&,System.EventHandler`1<Matrix.EventArgs>,
System.Eve ntHandler`1<Matrix.EventArgs>)' while running with --aot-only.
at Matrix.Net.BaseSocket.add_OnConnect (System.EventHandler`1 value) [0x00000]
in <filename unknown>:0
at Matrix.XmppStream..ctor (StreamType type) [0x00000] in <filename unknown>:0
at Matrix.Xmpp.Client.XmppClient..ctor () [0x00000] in <filename unknown>:0
at TestFacebook.setup () [0x00000] in <filename unknown>:0
at TestFacebook.Start () [0x00000] in <filename unknown>:0
(Filename: Line: -1)
XMPP フレームワークでデリゲートの 1 つに接続しようとすると。これはおそらくそれを引き起こすコードです:
xmppClient.OnBeforeSasl += this.xmppClient_OnBeforeSasl;
デリゲート メソッド:
public void xmppClient_OnBeforeSasl(object sender, Matrix.Xmpp.Sasl.SaslEventArgs e)
{ ... }
また、API の互換性レベルを上位の .NET 2.0 に変更しようとしましたが、結果はありませんでした。xmppClient_OnBeforeSasl メソッドを静的に設定しても役に立ちません。Unity では問題なく動作しますが、iOS デバイスで実行するとクラッシュします。