定期进行背景值更新随机工作

时间:2016-07-05 07:39:09

标签: ios swift firebase push-notification firebase-realtime-database

我正在构建一个应用程序,当应用程序在后台时,需要更新firebase数据库中的值。 我正在使用静默通知来触发didReceiveRemoteNotification方法。 每5分钟收到一次推送通知。

这是我的代码:

    func updateValuesWhenNotification(input: String, completion: (result: String) -> Void) {
         refInDatabase.setValue(aValue)
         completion(result: "we finished!")
}

...

    func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject], fetchCompletionHandler completionHandler: (UIBackgroundFetchResult) -> Void) {


    let aps = userInfo["aps"] as! [String: AnyObject]
    print(aps["content-available"]!)


    if (aps["content-available"]!).intValue == 1 {
        print("Content notification")
        if (loggedIn == false) {
            print("User is not logged, so no notifications")
            completionHandler(.NoData)
        } else {
            updateValuesWhenNotification("commands") {
                (result: String) in
                print("got back: \(result)")
            }
            completionHandler(.NewData)

        }


    }

每次应用收到推送通知时,输出为:

  

内容通知

     

回来了:我们完了!

意味着一切正常吗?

然而,当应用程序进入后台时,真的将数据库中的值更新2或3次,然后在输出相同时停止更新(意味着无论如何都会触发更新但是没有DB中的真实更新。有时(例如20分钟后)它会重新更新。

我可以做什么/尝试? 如果您希望我给出更多精确度或指示,请询问。 非常感谢任何帮助: - )

0 个答案:

没有答案