我再次在链接setKeepAliveTimeout and BackgroundTasks中指出了类似的疑问。
我必须定期从服务器获取文件并相应地提供本地通知。 当app处于后台状态时,必须执行此操作。
答案 0 :(得分:0)
在界面中创建后台任务:
@property (nonatomic) UIBackgroundTaskIdentifier bgTask;
比创建背景的方法:
- (void) backgroundMethod {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
//create backgriund task;
self.bgTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
[[UIApplication sharedApplication] endBackgroundTask: self.bgTask];
self.bgTask = UIBackgroundTaskInvalid;
}];
//do your stuff;
[[UIApplication sharedApplication] endBackgroundTask: self.bgTask];
self.bgTask = UIBackgroundTaskInvalid;
});
}
并定期调用它。