2014-01-24 50 views
1

我在iPad 1上收到以下錯誤和崩潰 - 僅在iOS 5上 - 儘管我的iPhone 5S和iPhone 5運行以下代碼片段很好:爲什麼會調用loadMatchWithID:withCompletionHandler只會在iPad 1上崩潰iOS 5

[GKTurnBasedMatch loadMatchWithID:_match.matchID withCompletionHandler:^(GKTurnBasedMatch *match, NSError *error) 
{ 
..... 
}]; 

確切的錯誤是:

終止應用程序由於未捕獲的異常 'NSInvalidArgumentException' 的,原因是:「+ [GKTurnBasedMatch loadMatchWithID:withCompletionHandler:]:無法識別的選擇發送到 類0x3f6d59c0

運行iPad模擬器時,我沒有得到這個崩潰也沒有任何價值。

+0

即方法(和類)在IOS 5.0溶液。它應該可以在裝有iOS 5的設備上工作。iPad可能擁有iOS 5.0的beta版本(可能還沒有該方法的版本)? – rmaddy

+1

奇怪的是,5.1到6.0的發佈筆記顯示了在iOS 6.0中添加的方法,但參考文檔顯示它在5.0以上。你測試過哪個版本的iPad模擬器? – rmaddy

回答

3

它看起來像loadMatchWithID直到iOS 6.0才真正暴露。我在我的Xcode中提供了5.0,5.1,6.0和7.0 SDK,並且可以看到在iOS 6中GKTurnBasedMatch.h中沒有此方法。

蘋果文檔和iOS 6.0和7.0 SDK標頭GKTurnBasedMatch.h似乎是錯誤的尊重某些方法何時可用。

還有其他的錯誤,這不是唯一的標記爲在iOS 5.0中存在的方法,但是在iOS 6.0之前不存在。

下面是另外兩個不精確性我在該標頭中找到具有相同的問題:

- (void)declineInviteWithCompletionHandler:completionHandler

- (void)acceptInviteWithCompletionHandler:completionHandler

+1

如果文檔錯誤(似乎是這種情況),您應該點擊文檔頁面底部的鏈接,將文檔錯誤提交給Apple。 – rmaddy

+0

良好的電話@maddy,我已經提交給蘋果的問題,並更新了我的答案,包括與該標題的錯誤的完整列表 – foggzilla

+0

非常感謝您的迴應foggzilla!至少我可以通過調用'loadMatchesWithCompletionHandler'來解決這個問題,然後遍歷所有匹配的id。再次感謝你。 – user1709076

相關問題