4

当我尝试在 Monotouch 上构建默认的“MonoGame.Framework.iOS.sln”时,有人知道为什么会收到以下错误消息吗?我该如何解决这个问题?:

在指南源文件的第 468 行(从 MonoGame.Framework.iOS>iOS>GamerServices>Guide.cs 我得到,

public static void ShowMatchMaker()
{
     AssertInitialised ();

if ( ( Gamer.SignedInGamers.Count > 0 ) && ( Gamer.SignedInGamers[0].IsSignedInToLive ) )
   {
    // Lazy load it
if ( matchmakerViewController == null )
   {
     matchmakerViewController = new GKMatchmakerViewController(); }

// 该行的错误是——类型“MonoTouch.GameKit.GKMatchmakerViewController”不包含采用“0”参数的构造函数。

4

1 回答 1

1

默认构造函数(实际上是init该类型的选择器GKMatchmakerViewController)无效(遗憾的是,Apple 关于可以使用什么初始化的文档init有点缺乏)。

同样从 iOS6 开始,这会在运行时引发 ObjectiveC 异常:

Objective-C exception thrown.  
Name: NSInvalidArgumentException 
Reason: <GKMatchmakerViewController: 0x16101160>: 
must use one of the designated initializers

因此,这个默认构造函数以及其他一些构造函数已被删除,因为它们的使用可能会在早期的 iO​​S 版本中导致奇怪的崩溃(而且你不希望你的游戏在 iOS6 上出现异常行为)。

于 2012-10-17T00:12:54.767 回答