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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spritekit无法从后台状态获取打印相关的知识,希望对你有一定的参考价值。

我进行了一些讨论,例如this one,并尝试使用以下建议代码:

  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:)方法时,应用程序始终处于活动状态。

To capture each state, try implementing these three methods inside of your version of AppDelegate.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")
}

以上是关于spritekit无法从后台状态获取打印的主要内容,如果未能解决你的问题,请参考以下文章

IOS SpriteKit 游戏进入后台时增加生命计数

使用Android导航组件时如何从后台获取片段?

游戏从后台快速恢复后退出暂停状态

我无法从 firebase 获取下载网址()。请任何人帮助这是我的代码和错误。 (我正在使用片段)[重复]

如何从 POS 打印机获取状态

添加到后台堆栈时如何保持片段状态?