有两种方法:
1)didReceiveRemoteNotification userInfo
2)didReceiveRemoteNotification userInfo fetchCompletionHandler
这两种方法有什么区别,它们何时被称为?此外,如何在通知到达时确定应用是否处于活动状态?最后,在第二个函数中传递的completionhandler是什么?和 how do i use the completion handler to handle the notification ?
1 回答
如果使用任何后台处理,则可以使用获取完成处理程序 . 例如,如果推送进来且应用程序在后台,您可以使用后台提取来为您发出请求 . 这样的一个示例可能是,如果在应用程序处于后台时消息通过,您可以使用后台获取来发出服务器请求以针对该推送通知提取数据,以便当用户打开应用程序时数据已经存在 . 基本上它只是一个完成处理程序,如果在应用程序处于后台时接收推送通知时运行任何功能 . 从上面的示例中,完成处理程序将通知您请求已完成 .
您可能会发现有用的参考资料包括:
iOS Background Fetch and completion block
http://www.raywenderlich.com/92428/background-modes-ios-swift-tutorial
最后一个链接解释了如何调用它:
How to call completionHandler for performFetchWithCompletionHandler in Swift