Домен ошибки NSURLSession = NSPOSIXErrorDomain Code = 2 Нет такого файла или каталога

Я загружаю файл в фоновом режиме, используя конфигурацию фонового сеанса NSURLSession.

- (void)initBackgroundSession {

    self.backgroundSessionManager = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:IELBackgroundSesssionCourseDownload] delegate:self delegateQueue:[NSOperationQueue mainQueue]];

    [self updateCurrentDownloadingCourse];
    self.isSuspendcourseDownloadTask = false;
}

- (void)updateCurrentDownloadingCourse {

[_backgroundSessionManager getTasksWithCompletionHandler:^(NSArray<NSURLSessionDataTask *> * _Nonnull dataTasks, NSArray<NSURLSessionUploadTask *> * _Nonnull uploadTasks, NSArray<NSURLSessionDownloadTask *> * _Nonnull downloadTasks) {

    NSLog(@"Count of DownloadTask %lu",(unsigned long)downloadTasks.count);
    for (NSURLSessionDownloadTask *downloadTask in downloadTasks) {

            NSDictionary *customDescription = [downloadTask getCustomTaskDescription];
            NSString *courseId = customDescription[IELCourseJSONKeyCoureID];
            if (courseId) {

                [self setDownloadingCourse_id:courseId];
                [self setCourseDownloadTask:downloadTask];
                break;
            }

            [downloadTask resume];
    }
}];
}

Теперь проблема в том, что если идет загрузка, и я закрываю приложение из фона, дважды нажав кнопку «Домой». И тогда, если я снова открою приложение. Затем все загрузки начинаются со сбоем с приведенным ниже сообщением об ошибке. Если я повторно добавлю задачу загрузки в объект NSURLSession, даже тогда произойдет сбой, пока я не закрою приложение из фона и не открою приложение снова.

- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didCompleteWithError:(NSError *)error 


Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory" UserInfo={NSErrorFailingURLKey=https://ilmsdevqa.inspiredlms.com/Content/Organizations/1544/ScormCourses/offline/2970-offline.zip, NSErrorFailingURLStringKey=https://ilmsdevqa.inspiredlms.com/Content/Organizations/1544/ScormCourses/offline/2970-offline.zip}

person Iqbal Khan    schedule 10.10.2017    source источник
comment
столкнулся с той же проблемой   -  person humblePilgrim    schedule 15.10.2017
comment
Я тоже столкнулся с тем же, Есть ли успех?   -  person Rahul Verma    schedule 09.01.2018
comment
я не нашел решения для этой проблемы. Но эта проблема в основном возникает, когда у меня подключен отладчик.   -  person Iqbal Khan    schedule 09.01.2018
comment
Я тоже столкнулся с подобной проблемой :(   -  person Muhammad Zeeshan    schedule 12.02.2020


Ответы (2)


Если вы принудительно закроете приложение, все фоновые загрузки будут отменены и возникнет эта ошибка. Это в документах.

(Предположим, это то, что вы имеете в виду под «Я закрываю приложение из фона, дважды нажимая кнопку домой»)

person Olof_t    schedule 25.06.2018
comment
проблема в том, что при следующем запуске приложение не дает снова начать загрузку, и каждая следующая загрузка завершается с той же ошибкой. - person Iqbal Khan; 27.06.2018
comment
при следующем запуске вы получаете ошибки об отмене загрузки принудительным выходом - так что это не ошибка. НО это должно позволить вам начать новые. Похоже, в коде вы пытаетесь повторно использовать неудачные задачи, это может быть ошибкой. - person Olof_t; 03.07.2018

У меня была похожая проблема, не совсем такая же, но я нашел эти вопросы через поиск Google - вот код ошибки и одно решение.

Error Domain=NSCocoaErrorDomain Code=260 "The file “PlugIns” couldn’t be opened because there is no such file." ...  NSUnderlyingError= ... {Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory"}}

Исправление: подпишите приложение с идентификатором разработчика Apple — https://developer.apple.com/developer-id/

Исправление взлома:

sudo spctl --master-disable
person xgMz    schedule 06.06.2019