我试图了解在收到通知后如何更新我的应用程序。
我想要做的只是在应用获得通知后,我想简单地增加一个值并将其存储为:userDefaults.set(counter, forKey: "someKey")
我知道如果用户实际点击通知并打开应用程序,我就可以轻松完成此操作。
但即使用户没有点击通知,有没有办法做到这一点?
答案 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: