gpt4 book ai didi

ios - NSURLSession 后台下载不工作

转载 作者:可可西里 更新时间:2023-11-01 03:00:24 25 4
gpt4 key购买 nike

我正在尝试使用 NSURL 后台 session 和 nsurlsessiontask 下载一些文件。当应用程序在 Debug模式下运行时(当设备连接到 Xcode 时),一切都像魅力一样,当从 Xcode 拔下设备(iPad)时不起作用。

我在 iOS 9.3.5 上使用 Xcode 7.3.1。我已经花了数周时间追踪这种奇怪的行为,但没有取得任何突破。可能是我缺少一些东西来实现后台下载。最近将 Xcode 升级到 8.1.2,将 iOS 升级到 10.2.1,假设升级可能会解决问题,但事实并非如此。

最佳答案

引用下面的链接并按照步骤操作

https://www.appcoda.com/background-transfer-service-ios7/

  -(void)URLSessionDidFinishEventsForBackgroundURLSession:(NSURLSession *)session{
AppDelegate *appDelegate = [UIApplication sharedApplication].delegate;

// Check if all download tasks have been finished.
[self.session getTasksWithCompletionHandler:^(NSArray *dataTasks, NSArray *uploadTasks, NSArray *downloadTasks) {
if ([downloadTasks count] == 0) {
if (appDelegate.backgroundTransferCompletionHandler != nil) {
// Copy locally the completion handler.
void(^completionHandler)() = appDelegate.backgroundTransferCompletionHandler;

// Make nil the backgroundTransferCompletionHandler.
appDelegate.backgroundTransferCompletionHandler = nil;

[[NSOperationQueue mainQueue] addOperationWithBlock:^{
// Call the completion handler to tell the system that there are no other background transfers.
completionHandler();

// Show a local notification when all downloads are over.
UILocalNotification *localNotification = [[UILocalNotification alloc] init];
localNotification.alertBody = @"All files have been downloaded!";
[[UIApplication sharedApplication] presentLocalNotificationNow:localNotification];
}];
}
}
}];

关于ios - NSURLSession 后台下载不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42202109/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com