我正在编写一个同步数据的 iOS 应用程序。当应用程序在后台时,我也需要运行同步服务。所以我在上传数据的地方写了这段代码。
- (void)startAsyncUpload {
UIApplication *thisApplication = [UIApplication sharedApplication];
if([thisApplication respondsToSelector:@selector(beginBackgroundTaskWithExpirationHandler:)]) {
bgTaskIdentifier_ = [thisApplication beginBackgroundTaskWithExpirationHandler:^(void)
{
[thisApplication endBackgroundTask:bgTaskIdentifier_];
bgTaskIdentifier_ = UIBackgroundTaskInvalid;
}];
}
[self multipartUpload];}
它工作正常并在后台运行。但是我这里有个问题。我正在上传一个视频文件,当我的后台时间到期时,调用了处理程序并结束了任务。现在,当我再次来到前台时,上传恢复了,很好。但是现在当我再次进入后台时,它并没有恢复后台任务。
我知道为什么,主要是因为我之前结束了任务。但是有没有办法再次恢复任务,比如再次注册任务以进行后台运行?