Можно открыть приложение Game Center из собственного приложения, используя:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"gamecenter:"]];
Есть ли способ открыть его на странице для конкретной игры?
Можно открыть приложение Game Center из собственного приложения, используя:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"gamecenter:"]];
Есть ли способ открыть его на странице для конкретной игры?
Я пробовал много разных комбинаций. Судя по iBook, отсутствие такой функции, отсутствие документации и, как я уверен, вы нашли - отсутствие информации в Интернете, я скажу, что кому-то, вероятно, придется либо переборщить URL-адрес (если он настроен для перехода на отдельные приложения по URL-адресу). Вот некоторые из них, которые я пробовал:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"gamecenter:id350536422"]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"gamecenter:us/app/cheese-moon/id350536422"]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"gamecenter:games/"]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"gamecenter:350536422"]];
UPDATE
Я прочесывал внутренности ОС и узнал шаблоны разрешения URL для Game Center:
Вам нужно будет подкован с регулярным выражением, чтобы использовать их все. Вот некоторые из них, которые я напечатал для вас:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"gamecenter:/me/account"]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"gamecenter:/me/signout"]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"gamecenter:/friends/recommendations"]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"gamecenter:/games/recommendations"]];
В примерах URL, используемых в ответе Cirrostratus, отсутствуют несколько бит.
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"gamecenter://static.gc.apple.com/me/"]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"gamecenter://static.gc.apple.com/friends/"]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"gamecenter://static.gc.apple.com/games/"]];
Эти URL-адреса, похоже, работают для меня на iOS 6 и 7. Я предполагаю, что если вы вошли в учетную запись Game Center, то вам придется использовать sandbox.gc.apple.com. Я попытался перейти на конкретную страницу игры или друга через /games/game/<id>/
и /friends/player/<id>/
, но все, что я пытаюсь сделать для ID, похоже, не работает. Для URL друзей я перехожу на страницу с пустыми друзьями.
Даже если кто-то это выяснил, потому что это недокументированное Apple может измениться в любое время в будущем, поэтому я не буду жестко указывать такой URL-адрес в приложении.
Используйте эту процедуру только.
- (void)showGameCenter
{
GKGameCenterViewController *gameCenterController = [[GKGameCenterViewController alloc] init];
if (gameCenterController != nil)
{
gameCenterController.gameCenterDelegate = self;
gameCenterController.viewState = GKGameCenterViewControllerStateDefault;
[self presentViewController: gameCenterController animated: YES completion:nil];
}
}