如果用户没有点击通知,则在后台快速通知更新应用程序

时间:2016-11-19 01:28:32

标签: ios swift push-notification

我试图了解在收到通知后如何更新我的应用程序。

我想要做的只是在应用获得通知后,我想简单地增加一个值并将其存储为:userDefaults.set(counter, forKey: "someKey")

我知道如果用户实际点击通知并打开应用程序,我就可以轻松完成此操作。

但即使用户没有点击通知,有没有办法做到这一点?

2 个答案:

答案 0 :(得分:2)

在后台模式中启用后台获取和远程通知,这些模式可以在Xcode的功能中找到。 如果您使用" content-available"发送通知如果将密钥设置为1,则会调用您的应用程序的远程通知应用委托方法。在该方法中,您可以将新数据存储到UserDefaults。

这是您需要在app delegate中实现的方法:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler

另请注意,如果应用程序被用户杀死,则无法使用此功能。如果您的应用程序是VOIP应用程序,您可以使用PushKit在后台打开您的应用程序以进行数据更新,即使用户之前已经杀死了应用程序。

答案 1 :(得分:0)

您可以在后台功能模式中启用Remote Notification选项。

启用它后,您可以使用委托方法更新值并将其存储在userdefaults

application:didReceiveRemoteNotification:fetchCompletionHandler: 

Apple Docs