โดเมนข้อผิดพลาด NSURLSession = รหัส NSPOSIXErrorDomain = 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