我希望推送通知让我的应用从服务器获取内容。我使用RESTKit。
我试图实现application:didReceiveRemoteNotification:fetchCompletionHandler:
然后执行我的REST请求(这是一个块)。我可以在日志中看到请求已发送,但后来没有答案。我猜是因为应用程序在后台。我该如何解决?
答案 0 :(得分:0)
我用块解决了问题。 我的代码是:
- (void) application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler
{
NSString *type = [userInfo valueForKey:@"type"];
if ([type isEqualToString:@"message"]) {
[self.viewController fetchFromServerWithSuccesBlock:^{
NSLog(@"succes block");
completionHandler(UIBackgroundFetchResultNewData);
} withFailBlock:^{
NSLog(@"fail block");
completionHandler(UIBackgroundFetchResultNewData);
}];
}
}
这样,当我的请求块完成时,completionHandler
被调用。