我们可以在IOS应用中收到无提示的本地通知吗?在没有用户与之交互的情况下,它在后台进行一些数据处理。
[我想做的是创建一个无声的本地通知,该通知每天早上8点触发,在用户收到通知后,我要进行一些数据处理,然后重新创建一个新的通知,用户可以在处理后的新数据中看到该通知我看到了第一个无声的本地通知。
我正在努力避免尽可能多地使用推送通知。
您可以在iOS上的后台接收静默通知,但是需要一台服务器才能实际发送通知。
为此,请在目标的“功能”选项卡中启用Remote notifications
后台模式:
然后您使用[]在application:didFinishLaunchingWithOptions:
中注册推送通知>
UIUserNotificationSettings* notificationSettings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeNone categories:nil]; [[UIApplication sharedApplication] registerUserNotificationSettings:notificationSettings];
正在等待允许您的应用发送推送通知的用户,您将收到设备令牌:
-(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken;
如果出现问题,将调用失败处理程序:
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:
[您将
deviceToken
发送到服务器,并告诉它在设备的本地时间上午8点向该deviceToken
发送静默推送通知。
该设备将具有以下名为的应用程序委托方法:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler;
您将能够进行数据处理。
轻松!
完成后别忘了调用完成处理程序!