iPhone Simulator 6.0 nie może połączyć się z centrum gier w trybie piaskownicy
Próbuję zaimplementować aplikację świadomą gamecenter kierowaną na iOS 6. Aby podać trochę informacji o środowisku pracuję na mac os 10.7.5 z wersją XCode 4.5.2, a xcode działa na iphone i ipad simulator w wersji 6.0. Problem polega na tym, że nie mogę połączyć się z centrum gier w trybie piaskownicy ani za pomocą iPada ani symulatora iphone, ale ten sam kod działa zgodnie z oczekiwaniami podczas testowania w moim iPhone.
Śledziłem przewodnik programowania w centrum gier w bibliotece programisty firmy Apple i otrzymałem ten bankomat z aplikacji applicationDidFInishLaunching in appdelegate:
- (void)authenticateLocalUser:(UIViewController *)currentViewController
{
if (!gameCenterAvailable) return;
GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];
localPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error){
if (viewController != nil)
{
[currentViewController presentViewController:viewController animated:YES completion:nil];
}
else if (localPlayer.isAuthenticated)
{
NSLog(@"Player authenticated");
}
else
{
NSLog(@"Player not authenticated");
}
NSLog(@"Error: %@",error);
};
}
Wyprowadza:
Error: Error Domain=GKErrorDomain Code=2 "The requested operation has been cancelled."
UserInfo=0x8690510 {NSLocalizedDescription=The requested operation has been cancelled.}
GKSConnSettings: set server: {
"gk-cdx" = "17.173.254.218:4398";
"gk-commnat-cohort" = "17.173.254.220:16386";
"gk-commnat-main0" = "17.173.254.219:16384";
"gk-commnat-main1" = "17.173.254.219:16385";
}
Próbowałem już naprawić plik hosts, chociaż mój system operacyjny nie jest 10.8.2, ale to nie pomogło.https://devforums.apple.com/thread/168811?tstart=0
Jakiś pomysł, co może być możliwą przyczyną?
Edycja: Cóż, okazuje się, że część wyjściowa zaczynająca się od GKSConnSettings nie wskazuje żadnych problemów, to jest zwykłe wyjście podczas łączenia się z centrum gier, co zrozumiałem z tego, co czytałem przez Internet. Wydrukowałem rzeczywisty komunikat o błędzie (GKErrorDomain = 2 ...) wewnątrz bloku uwierzytelniania.