Game Center не аутентифицирован, запрос аутентификации в iOS 12 - PullRequest
0 голосов
/ 02 января 2019

Swift 4, iOS 12.

Использование Game Center для записи рекордов в игре.Все работает, если пользователь вошел в Game Center.Я могу определить, когда нет, но не могу понять, как включить Game Center, если это так.

func ask4GameCenter() {
    let myAlert: UIAlertController = UIAlertController(title: "Attention", message: "Log into Game Center to record High Scores", preferredStyle: .alert)

    myAlert.addAction(UIAlertAction(title: "Ignore", style: .default, handler: { (action) in
        self.gameOn()
    }))
    myAlert.addAction(UIAlertAction(title: "Logon", style: .default, handler: { (action) in
        UIApplication.shared.open(NSURL(string: "gamecenter:")! as URL, options: [:], completionHandler: { (success) in
            if success {
                self.gameOn()
            }
        })
    }))
    self.view?.window?.rootViewController?.present(myAlert, animated: true, completion: nil)
}

1 Ответ

0 голосов
/ 04 января 2019

Хорошо, я нашел ответ.

func ask4GameCenter() {
    let myAlert: UIAlertController = UIAlertController(title: "Attention", message: "Log into Game Center to record High Scores", preferredStyle: .alert)

    myAlert.addAction(UIAlertAction(title: "Ignore", style: .default, handler: { (action) in
        self.gameOn()
    }))
    myAlert.addAction(UIAlertAction(title: "Logon", style: .default, handler: { (action) in
        guard let settingsUrl = URL(string: UIApplication.openSettingsURLString) else {
            return
        }
        UIApplication.shared.open(settingsUrl, options: [:], completionHandler: { (success) in
            if success {
                self.gameOn()
            }
        })
    }))
    self.view?.window?.rootViewController?.present(myAlert, animated: true, completion: nil)
}
...