Я пытаюсь добавить поддержку GameKit в приложение watchOS. Однако при запуске приложения на устройстве аутентификация завершается с ошибкой NSURLErrorDomain code -1009 (null)
. При запуске в симуляторе приложение не может построить, говоря, что не может найти модуль GameKit.GameKit не работает на watchOS 3
Как исправить эти ошибки? Я использую Xcode 8 + watchOS 3 и IOS 10.
EDIT: Код для вспомогательного класса аутентификации GameKit
import Foundation
import GameKit //ERROR: Can't find module when running in simulator
import WatchKit
let singleton = GameKitHelper()
class GameKitHelper {
var gameCenterEnabled = false
var points: Int64? = 0
var rankings: [GKScore] = []
let leaderboard = "LEAD_ID"
var leaderboardRequest: GKLeaderboard?
class var sharedInstance: GameKitHelper {
return singleton
}
func authenticateLocalPlayer() {
let player = GKLocalPlayer.localPlayer()
print("Authenticating local player")
player.authenticateHandler = { error in
if player.isAuthenticated {
self.gameCenterEnabled = true
DispatchQueue.main.async {() -> Void in
WKInterfaceController.reloadRootControllers(withNames: ["View"], contexts: nil)
}
}
else {
self.gameCenterEnabled = false
if error != nil {
print("GK Auth Error: \(error.debugDescription)")
}
}
}
}
}
В какой строке кода возникает ошибка? Можете ли вы изменить свой вопрос, чтобы показать, где компилятор говорит, что происходит ошибка? – KSigWyatt
Я нашел [эту страницу] (http://stackoverflow.com/questions/37208917/error-domain-nsurlerrordomain-code-1004-instead-of-1009-in-swift-service-calls), в которой говорится, что код -1009 означает отсутствие подключения к Интернету. – themathsrobot
Вы мамали, чтобы получить работу? –