0

我再次对链接setKeepAliveTimeout 和 BackgroundTasks中指定的类似疑问。

我必须定期从服务器获取文件并相应地提供本地通知。这必须在应用程序处于后台状态时完成。

4

1 回答 1

0

在您的界面中创建 backgoud 任务:

@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;
});
}

并在您需要时定期调用它。

于 2013-02-22T08:56:47.110 回答