gpt4 book ai didi

swift - spritekit 无法从后台状态获取打印

转载 作者:搜寻专家 更新时间:2023-11-01 05:32:52 24 4
gpt4 key购买 nike

我关注了一些讨论,例如 this一个,并尝试使用以下建议的代码:

  let state = UIApplication.shared.applicationState
if state == .background {
print("App in Background")
}else if state == .active {
print("App in Foreground or Active")
}

但它只在事件状态下给我打印。我从后台状态中一无所获。 如果我的应用程序在后台,我怎么能得到通知?我应该在哪里调用这个函数?有人对这个问题有任何经验吗?

最佳答案

由于您使用的是 SpriteKit,我假设您提供的用于检查 state 的代码在 didMove(to:) 方法的某处被调用 GameScene.swift。如果是这样,那么您遇到的不是问题,而是期望的结果;当场景调用了 didMove(to:) 方法时,应用程序始终处于事件状态。

要捕获每个状态,请尝试在您的 AppDelegate.swift 版本中实现这三个方法:

swift 4

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
print("app finished launching")
return true
}

func applicationDidEnterBackground(_ application: UIApplication) {
print("app in background")
}

func applicationWillEnterForeground(_ application: UIApplication) {
print("app in foreground")
}

关于swift - spritekit 无法从后台状态获取打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51915951/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com