2012-10-16 57 views
4

有人知道爲什麼當我嘗試在Monotouch上構建默認「MonoGame.Framework.iOS.sln」時出現以下錯誤消息嗎?我該如何解決這個問題? :在使用monogame構建默認iOS解決方案時出現錯誤消息

在引導源文件的468行(來自MonoGame.Framework.iOS>的iOS> GamerServices> Guide.cs 我得到的,在該行is--類型'

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’參數。

+0

我發現解決方案,我想我現在就試試這個:這聽起來像他們刪除了MonoTouch.GameKit.GKMatchmakerViewController的構造函數,它不需要任何參數。 MonoTouch.GameKit.GKMatchmakerViewController有五個構造函數簽名,但每個都需要傳遞一個參數。我能夠通過在guide.cs中的ShowMatchMaker()方法中註釋掉所有內容來解決此錯誤。然後我收到另一個錯誤,說iOS6不支持ARMv6,所以我將最低平臺版本從4.0更改爲5.0,現在一切都已成功完成。 –

回答

1

默認構造函數(實際上是init選擇了GKMatchmakerViewController型)是無效的(什麼可以init初始化可悲的是蘋果的文檔是位缺)

也開始與iOS6的這會引發的ObjectiveC異常在運行時:

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

因此這個默認的構造函數,與其他幾個人一起,被刪除,因爲它們的使用可以在早期的iOS版本中引起奇怪的崩潰(反正你不希望你的遊戲在iOS6上行事不端)。

+0

:)謝謝你poupou。現在評論整個ShowMatchMaker方法是最好的解決方案嗎?我該怎麼辦?請讓我知道我有點失落。 –

+0

@SoniaBrami我不確定。你應該聯繫(或等待答案)MonoGame人。由於iOS6和MonoTouch 6已經發布了大約一個月,他們可能*已經有了一個解決方案。 – poupou

+0

是的,他們回答了http://monogame.codeplex.com/discussions/399669#editor @poupou謝謝! –

相關問題