Подтвердить что ты не робот

Схема URL-адреса Game Center

Можно открыть приложение Game Center из собственного приложения, используя:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"gamecenter:"]];

Есть ли способ открыть его на странице для конкретной игры?

4b9b3361

Ответ 1

Я пробовал много разных комбинаций. Судя по 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:

URL resolution patterns for 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"]];

Ответ 2

В примерах 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-адрес в приложении.

Ответ 3

Используйте эту процедуру только.

    - (void)showGameCenter
{

GKGameCenterViewController *gameCenterController = [[GKGameCenterViewController alloc] init];

    if (gameCenterController != nil)
    {
        gameCenterController.gameCenterDelegate = self;
        gameCenterController.viewState = GKGameCenterViewControllerStateDefault;       
        [self presentViewController: gameCenterController animated: YES completion:nil];

    }
}