Ios5 10分钟后无法在后台下载数据?

Ios5 10分钟后无法在后台下载数据?,ios5,Ios5,我正在使用我想在后台下载数据的应用程序。根据苹果多任务指南,你可以下载10分钟的数据 在我的例子中,下载文件需要10分钟以上,下载失败 初始下载请求来自DownloadViewController,如下所示 - (IBAction)performLargeUpload:(id)sender { [request cancel]; [self setRequest:[ASIFormDataRequest requestWithURL:[NSURL URLWithString:@"http://m

我正在使用我想在后台下载数据的应用程序。根据苹果多任务指南,你可以下载10分钟的数据

在我的例子中,下载文件需要10分钟以上,下载失败

初始下载请求来自DownloadViewController,如下所示

- (IBAction)performLargeUpload:(id)sender {

[request cancel];
[self setRequest:[ASIFormDataRequest requestWithURL:[NSURL URLWithString:@"http://mirrorblender.top-ix.org/peach/bigbuckbunny_movies/big_buck_bunny_480p_stereo.avi"]]];  // 149MB

[request setDownloadDestinationPath:[[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"] stringByAppendingPathComponent:@"big_buck_bunny_480p_stereo.avi"]];

[request setTimeOutSeconds:20];
[request setDownloadProgressDelegate:progressIndicator];
[request setUserInfo:[NSDictionary dictionaryWithObject:@"request1" forKey:@"name"]];

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_4_0
[request setShouldContinueWhenAppEntersBackground:YES];
#endif
[request setDelegate:self];
[request setDidFailSelector:@selector(uploadFailed:)];
[request setDidFinishSelector:@selector(uploadFinished:)];
[request setAllowResumeForFileDownloads:YES];

[request startAsynchronous];
[resultView setText:@"Downloading data..."];

}
在appDelegate中,我在applicationIdentinterBackground时放置了此代码

- (void)applicationDidEnterBackground:(UIApplication *)application  {

UIApplication  *app = [UIApplication sharedApplication];
UIBackgroundTaskIdentifier bgTask;

bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
    [app endBackgroundTask:bgTask];

}];

backgroundTimer=nil;
backgroundTimer = [NSTimer scheduledTimerWithTimeInterval:10 target:self  selector:@selector(keepAlive) userInfo:nil repeats:YES];
}

如何延长后台下载时间

你做不到。停止尝试。

是的,这无法完成,如果存在任何下载连接,我会建议应用程序在后台运行 最好取消它并在应用程序出现时重新开始下载。其他可能我们需要保持暂停和恢复,这也需要一些服务器更改

这可能有助于:


只有当应用程序处于非活动状态,并且只有当应用程序定期更新杂志和报纸等内容时,才可以下载资产。在这种情况下,您可以使用报摊框架。

您不能延长时间。您应该考虑一些恢复下载或压缩数据的可能性等。检查可能的重复项,但当调用endBackgroundTask或在后台10分钟后,我们可以暂停下载,在keepAlive方法中,我们可以恢复下载,这样我们可以再获得10分钟。是吗?请你详细说明一下。不,这个问题已经被问得要死了。它被标记为质量很低。我认为应该对其进行评论,尽管我跳过了这一点。不正确,如果您正在编写杂志或报纸样式的应用程序,即使您的应用程序未处于活动状态,您也可以使用报摊工具包下载您想要的任何内容。@MrTJ此应用程序不是报摊应用程序。报摊应用程序在已批准的后台应用程序列表中。但是,我认为对于定期更新的内容,我们必须使用报摊框架,但是没有报摊的应用程序呢??但是我想下载定期更新的内容,而不在后台使用报摊框架。最后,使用ASIHTT,您可以在后台下载内容超过10分钟。它对我有用