0
我正在开发一个推荐的iphone应用程序。它使用Parse来维护用户,联系人和引荐。它还使用核心数据与分析和维护离线活动同步。它有一个刷新方法,可以将Parse和Core Data同步。我试图找到一种方式,只要用户离开应用程序,与Parse同步在后台完成。我一直在使用applicationDidEnterBackground中的简单分析查询进行测试,但无法正常工作。这里是我使用的代码:如何使用解析实现后台进程
(void)applicationDidEnterBackground:(UIApplication *)application{
self.backgroundTask = [application beginBackgroundTaskWithName:@"MyTask" expirationHandler:^{
[application endBackgroundTask:self.backgroundTask];
self.backgroundTask = UIBackgroundTaskInvalid;
}];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSString *message = @"begin background task";
NSDictionary *dict = @{@"status": message};
[[NSUserDefaults standardUserDefaults] setObject:dict forKey:kBeginBackgroundTaskWithNameKey];
PFQuery *query = [PFQuery queryWithClassName:@"Referral"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (!error) {
NSString *message = [NSString stringWithFormat:@"array has %lu objects", (unsigned long)objects.count];
NSDictionary *dict = @{@"status": message};
[[NSUserDefaults standardUserDefaults] setObject:dict forKey:kBeginBackgroundTaskWithNameKey];
[application endBackgroundTask:self.backgroundTask];
self.backgroundTask = UIBackgroundTaskInvalid;
}
}];
});
}
我在做什么错?