Я загружаю 500 файлов последовательно (один за другим). Размер каждого файла составляет около 4-5 МБ. Я создал NSURLSession
с backgroundSessionConfigurationWithIdentifier
, потому что мои файлы могут загружаться, когда приложение находится в фоновом режиме.
- (NSURLSession *)backgroundSession
{
static NSURLSession *session = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
NSString *bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:bundleIdentifier];
configuration.HTTPMaximumConnectionsPerHost = 1;
configuration.sharedContainerIdentifier = bundleIdentifier;
session = [NSURLSession sessionWithConfiguration:configuration delegate:self delegateQueue:nil];
});
return session;
}
И я использую NSURLSessionDownloadTask
для загрузки файлов, и как только файл загружен, я начинаю следующую загрузку по методу didFinishDownloadingToURL
делегата. И у меня есть эти строки ниже в моем делегате приложения.
AppDelegate.h
@property (copy) void(^backgroundSessionCompletionHandler)();
AppDelegate.m
-(void)application:(UIApplication *)application handleEventsForBackgroundURLSession:(NSString *)identifier completionHandler:(void (^)())completionHandler{
self.backgroundSessionCompletionHandler = completionHandler;
}
Вот мой вопрос. Как только мое приложение перейдет в фоновый режим, мое приложение успешно продолжит процесс загрузки. Я дал все настройки, необходимые для непрерывной загрузки, или мне нужно включить какие-либо другие настройки?
Будьте добры, направьте меня.