NSURLSession Error Domain=NSPOSIXErrorDomain Code=2 Tidak ada file atau direktori tersebut

Saya mengunduh file di latar belakang menggunakan konfigurasi sesi latar belakang 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];
    }
}];
}

Sekarang masalahnya adalah jika pengunduhan sedang berlangsung dan saya menutup aplikasi dari latar belakang dengan menekan tombol beranda dua kali. Dan kemudian jika saya membuka kembali aplikasi tersebut. Kemudian semua unduhan mulai gagal dengan pesan kesalahan yang diberikan di bawah ini. Jika saya menambahkan kembali tugas pengunduhan di objek NSURLSession, itu pun gagal sampai saya menutup aplikasi dari latar belakang dan membuka kembali aplikasi.

- (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 sumber
comment
menghadapi masalah yang sama   -  person humblePilgrim    schedule 15.10.2017
comment
Saya juga menghadapi hal yang sama, Adakah yang berhasil?   -  person Rahul Verma    schedule 09.01.2018
comment
saya tidak menemukan solusi apa pun untuk masalah ini. Tetapi masalah ini kebanyakan terjadi ketika saya memasang debugger.   -  person Iqbal Khan    schedule 09.01.2018
comment
Saya juga menghadapi masalah serupa :(   -  person Muhammad Zeeshan    schedule 12.02.2020


Jawaban (2)


Jika Anda menutup paksa aplikasi, semua unduhan di latar belakang akan dibatalkan dan menghasilkan kesalahan ini. Itu ada di dokumen.

(Saya kira itu yang Anda maksud dengan "Saya menutup aplikasi dari latar belakang dengan menekan tombol beranda dua kali")

person Olof_t    schedule 25.06.2018
comment
masalahnya adalah pada peluncuran berikutnya aplikasi tidak memungkinkan untuk mulai mengunduh lagi, dan setiap unduhan berikutnya gagal dengan kesalahan yang sama. - person Iqbal Khan; 27.06.2018
comment
pada peluncuran berikutnya Anda mendapatkan kesalahan untuk membatalkan unduhan dengan menutup paksa - jadi itu bukan kesalahan. TAPI itu akan memungkinkan Anda untuk memulai yang baru. Sepertinya dalam kode Anda mencoba menggunakan kembali tugas yang gagal, ini mungkin kesalahannya. - person Olof_t; 03.07.2018

Saya memiliki masalah serupa, tidak sama persis, tetapi menemukan pertanyaan ini melalui pencarian Google - inilah kode kesalahan dan satu solusinya.

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"}}

Perbaiki: Tanda tangani aplikasi dengan Id Pengembang Apple - https://developer.apple.com/developer-id/

Perbaikan peretasan:

sudo spctl --master-disable
person xgMz    schedule 06.06.2019