オンライン マッチを処理するために、ゲームで Prime31 の GameCenter Turn Based プラグインを使用しています。
Game Center のマッチメーカーが表示されているときに、Game Center から「プレイへの招待」通知を受け取ると、問題が発生します (プラグインを使用して呼び出されます => GameCenterTurnBasedBinding.findMatch(2,2,false);
)。
アプリがクラッシュし、次の出力が Xcode に表示されます。
2012-08-20 08:39:27.050 Cabrais[1808:707] *** Assertion failure in -[NSIndexPath row], /SourceCache/UIKit/UIKit-1914.85/UITableViewSupport.m:2606
2012-08-20 08:39:27.052 Cabrais[1808:707] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid index path for use with UITableView. Index paths passed to table view must contain exactly two indices specifying the section and row. Please use the category on NSIndexPath in UITableView.h if possible.'
*** First throw call stack:
(0x355ec88f 0x33210259 0x355ec789 0x349e03a3 0x32d4d673 0x35dba49d 0x35dd90e5 0x35dd9379 0x32d4cefb 0x32d4bfd9 0x32d4b763 0x35da7657 0x32ceff37 0x3554b1fb 0x32716aa5 0x327166bd 0x327165c9 0x35dd8179 0x35da936b 0x35dbce65 0x35dbb6b3 0x33979c59 0x33984e91 0x355bf2ad 0x355424a5 0x3554236d 0x332dd439 0x32d1acd5 0x6954 0x3388)
terminate called throwing an exception(lldb)
アプリとGameCenterの両方のIpad/Iphone設定と、通知関連のコードをすべて削除してコードを介して通知を無効にしようとしましたが、これはまったく効果がありませんでした.
デバッグを通じて、GameCenterTurnBasedManager.handleTurnEventEvent にアタッチされた関数のコードがクラッシュが発生する前に呼び出されず、EtceteraManager.remoteNotificationReceived に登録されたコードも呼び出されないことがわかっています。(これらの機能はどちらも、それ以外の場合は完全に正常に機能します。)
Prime31 に問い合わせたところ、例外はテーブル データ ソースの取り扱いミスであり、Apple にバグ レポートを提出するように言われました。
Unity での作業中に同様のクラッシュ/エラーを経験した人はいますか? また、通知が到着する前に通知をキャッチして仲人を削除したり、団結からエラーを処理したりする方法はありますか?
洞察/ヘルプ/コメントをいただければ幸いです。
ありがとう。