无法在applicationWillTerminate

时间:2017-04-11 07:32:18

标签: ios swift firebase firebase-realtime-database firebase-authentication

我试图在应用程序被迫关闭之前更新我的firebase数据库。

设定:

  • Xcode版本:8.2.1
  • ios simulator
  • Info.plist> Application does not run in backgroundBool YES

模拟:

  1. 启动申请
  2. 通过硬件关闭应用程序>家庭模拟器
  3. 代码:AppDelegate.swift

    此更新

     func applicationDidEnterBackground(_ application: UIApplication) {
        let user = FIRAuth.auth()!.currentUser!
        FIRDatabase.database().reference().child("status").child(user.uid).setValue("foobar")
    }
    

    这不会更新(打印功能正常)

    func applicationWillTerminate(_ application: UIApplication) {
        print("applicationWillTerminate")
        let user = FIRAuth.auth()!.currentUser!
        FIRDatabase.database().reference().child("status").child(user.uid).setValue("foobar")
    }
    

    这是我的数据库结构的屏幕截图 sample

    由于我有5秒钟执行异步任务,我觉得它应该可以正常工作

      

    此方法的实现大约需要五秒钟   执行任何任务并返回。如果方法之前没有返回   时间到期,系统可能会完全终止进程。

    https://developer.apple.com/reference/uikit/uiapplicationdelegate/1623111-applicationwillterminate

    任何线索?

0 个答案:

没有答案