【问题标题】:GameKit not working on watchOS 3GameKit 无法在 watchOS 3 上运行
【发布时间】:2023-03-03 21:44:01
【问题描述】:

我正在尝试将 GameKit 支持添加到我的 watchOS 应用程序中。但是,在设备上运行应用程序时,身份验证失败并出现错误 NSURLErrorDomain code -1009 (null)。在模拟器中运行时,应用程序无法构建,说找不到 GameKit 模块。

如何解决这些错误?我正在使用 Xcode 8 + watchOS 3 和 iOS 10。

编辑: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)")
                }
            }
        }
    }
}

【问题讨论】:

  • 错误发生在哪一行代码?您能否编辑您的问题以显示编译器所说的错误来自何处?
  • 我发现this page 说代码-1009 表示没有互联网连接。
  • 你管理好了吗?
  • 不,仍然无法正常工作。我已向 Apple 提交错误报告。
  • 我在尝试使用 Beta 3.(OS10.1, WatchOS 3.1) 后也填补了一个错误 ????

标签: ios swift gamekit watchos-3


【解决方案1】:

看起来它适用于 WatchOS4,但不是马上:

  • 看来您必须创建一个具有自己的 GameCenter 排行榜的单独应用,然后您可以使用 GC 组与 iOS 伴侣共享相同的数据。

【讨论】:

  • 使用设备构建会使警告静音,但身份验证失败。我将尝试构建一个示例项目,看看它是否有效
  • 我尝试将 ATS 添加到 plist 中,结果相同,1009
猜你喜欢
  • 2023-04-05
  • 1970-01-01
  • 2015-10-10
  • 2017-09-10
  • 2020-07-26
  • 2014-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多