在iOS 7上接收远程通知(静默推送)时执行后台任务
我目前正在构建一个应用程序,它利用iOS 7的静默推送通知,根据请求在后台唤醒应用程序 正如我在在iOS 7上接收远程通知(静默推送)时执行后台任务,ios,ios7,apple-push-notifications,multitasking,backgrounding,Ios,Ios7,Apple Push Notifications,Multitasking,Backgrounding,我目前正在构建一个应用程序,它利用iOS 7的静默推送通知,根据请求在后台唤醒应用程序 正如我在-applicationidentinterbackground:中所做的那样,我在-application:didReceiveMemotentification:fetchCompletionHandler:中启动了一个后台任务,如下所示: - (void)application:(UIApplication *)application didReceiveRemoteNotification:(
-applicationidentinterbackground:
中所做的那样,我在-application:didReceiveMemotentification:fetchCompletionHandler:
中启动了一个后台任务,如下所示:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
{
self.taskId = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
[[UIApplication sharedApplication] endBackgroundTask:self.taskId];
self.taskId = UIBackgroundTaskInvalid;
completionHandler(UIBackgroundFetchResultNewData);
}];
}
虽然应用程序成功注册远程通知,并在通知到达时调用-application:didReceiveMemotentification:fetchCompletionHandler:
,但应用程序在返回到挂起状态之前仅在后台停留几秒钟,远短于给定的预期执行时间(在-applicationIdentinterbackground:
中调用时)我相信大约需要3分钟
这是预期的行为吗?还是不可能使用远程通知?您是否正确配置了plist
ui背景模式
有待批准ui背景模式
value=远程通知
应用程序希望在推送通知到达时开始下载内容。使用此通知可最大限度地减少显示推送通知相关内容的延迟。我相信这可能与本文中描述的问题相同:您是如何解决问题的?