這是我的情況:Game Center不響應authenticateWithCompletionHandler請求(iOS)
1)用戶第一次打開我的應用程序。我立即致電authenticateLocalUser嘗試將它們登錄到Game Center中。出現登錄,創建帳戶和取消按鈕的彈出窗口。
2)用戶現在不想登錄,所以他們點擊取消。 (這不是他們第三次點擊'取消',我沒有收到'禁用遊戲中心,請從Game Center應用程序登錄以啓用'消息。)用戶可以繼續正常使用我的應用程序。
3)用戶稍後想要使用Game Center,所以他們點擊我給他們登錄到Game Center的按鈕。我再次調用authenticateLocalUser。這一次,彈出窗口不會出現。其實什麼也沒有發生,但我收到這些控制檯日誌消息:
2012-04-26 08:38:42.861 Clink[332:707] authenticateWithCompletionHandler: enter
2012-04-26 08:38:42.863 Clink[332:707] authenticateWithCompletionHandler: exit
4)我已經測試了立即推動其再次調用authenticateLocalUser按鈕,也在等待這樣做之前的時間段顯著。在任何時候,我打電話authenticateLocalUser一次,再一次出現什麼,我從功能得到這個錯誤:
Error Domain=GKErrorDomain Code=7 "The requested operation could not be completed because local player is already authenticating."
那麼,什麼似乎發生的事情是,當我打電話authenticateLocalUser第3步中,我問遊戲中心進行身份驗證,但它正在掛斷,並沒有響應我的請求。然後在第4步中,當我再次嘗試時,它告訴我它無法處理我的請求,因爲它已經嘗試進行身份驗證。然而,我已經等待了10分鐘的時間來收到我在步驟3中提出的請求,我從來沒有從遊戲中心獲得回覆。
這是我的authenticateLocalUser函數的內容。據我記得,我沒有改變它從我從Apple的示例代碼下載的版本。
- (void) authenticateLocalUser
{
if([GKLocalPlayer localPlayer].authenticated == NO)
{
[[GKLocalPlayer localPlayer] authenticateWithCompletionHandler:^(NSError *error)
{
[self callDelegateOnMainThread: @selector(processGameCenterAuth:) withArg: NULL error: error];
}];
}
}
有沒有其他人遇到過這個問題或有任何想法可能會發生什麼?我一直在看這一段時間,我不確定發生了什麼。
在此先感謝!
如果您解決了此問題,請讓我知道。我面臨同樣的問題。謝謝。 – DancOfDeth 2012-05-04 14:25:55
紐伊,不幸的是我沒有。然而,我發現一個團隊開發者面臨同樣的問題。我不確定現在是否有解決方案;這可能是蘋果的行爲(儘管很奇怪)嗎? – WendiKidd 2012-05-04 16:55:43
我有同樣的問題......我認爲這是我做錯了。 – 2012-05-16 04:28:36