我在我的游戏中使用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时是否有人遇到类似的崩溃/错误? 有没有什么方法可以尝试在通知到达之前捕获通知并删除匹配器或能够处理来自统一的错误?
非常感谢任何见解/帮助/评论,
感谢。