代码之家  ›  专栏  ›  技术社区  ›  Roman

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

  •  2
  • Roman  · 技术社区  · 6 年前

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

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

    但它给我的指纹只有在活动状态。我从背景状态一无所获。 如果我的应用程序在后台,我怎么能得到通知?我应该在哪里调用这个函数?有人遇到过这个问题吗?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Neil Hiddink    6 年前

    既然你用的是SpriteKit,我想应该是 state 你提供的电话正在 didMove(to:) GameScene.swift . 如果是这种情况,那么您没有遇到问题,而是遇到了所需的结果;当场景调用 滴漏(到:) 方法。

    AppDelegate.swift :

    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")
    }