是否可以在用户无需点击通知(通知中心没有通知,因为它是静默推送通知)。
该应用程序根本没有运行(例如,用户强制退出)。我已经尝试了下面的代码,如果应用程序正在运行或在后台运行,它可以工作,但如果应用程序被强制退出(根本不运行),我也希望它工作。
我已启用后台获取和远程通知。
func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject], fetchCompletionHandler completionHandler: (UIBackgroundFetchResult) -> Void) {
handleNotification()
}
//this works, the someData is not a problem
func handleNotification() -> Void{
let defaults = NSUserDefaults.standardUserDefaults()
defaults.setValue(someData, forKey: "key")
defaults.synchronize()
}
当我发送推送通知时,如果应用程序处于事件状态或在后台,数据会更新,但如果应用程序根本没有运行,则数据不会更新。
Best Answer-推荐答案 strong>
简答:当应用强制退出(未运行)时,如果没有用户交互,(几乎)无法做任何事情。
解释见文档:
如您所见,唯一的异常(exception)是位置应用程序,但这对您没有帮助。
请处理以下事实,这是一个操作系统限制,您无能为力。
关于ios - 当应用程序未运行时,通过静默推送通知在后台更新本地数据库,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/31501279/
|