NSFileManager -Copyitematpath: Topath: خطأ: فشل مع مجلد القراءة فقط
-
29-09-2019 - |
سؤال
أحاول نسخ مجلد يقرأ فقط ، ولكن يحتوي على ملفات بداخله ، إلى موقع آخر. عندما أستخدم -copyitematpath: Topath: خطأ: يقوم بنسخ المجلد ، ولكن ليس الملفات. نموذج رمز يوضح أن الخطأ أدناه.
إن تغيير أذونات المجلد قبل النسخ ليس خيارًا في هذه الحالة.
هل يمكن لأي شخص تقديم اقتراح؟
الخطأ هو:
مجال الخطأ = رمز nsposixerrordomain = 13 userInfo = 0x1001102A0 "لا يمكن إكمال العملية. تم رفض الإذن"
userInfo من الخطأ هو: {
nsDestinationFilePath = "/user/xxxxxxx/desktop/readOnlyFileCopy/testdir/Abbey Road.jpg" ؛
nsfilepath = "/user/xxxxxxx/desktop/testdir/abbey road.jpg" ؛
nsUserStringVariant = نسخة ؛
}
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
NSString* src = @"/Users/xxxxxxx/Desktop/testdir";
NSString* target = @"/Users/xxxxxxx/Desktop/readonlyfilecopy/testdir";
NSError* error = nil;
[[NSFileManager defaultManager] copyItemAtPath:src toPath:target error:&error];
if (error) {
NSLog(@"%@", error);
NSLog(@"%@", [error userInfo]);
}
[pool drain];
return 0;
}
المحلول
هل أنت متأكد من أنه يمكنك قراءة كل ملف في المجلد. إذا كان الأمر كذلك ، فقد يكون هذا في الواقع حشرة الكاكاو. من الممكن تمامًا أن تقوم بإنشاء مجلد جديد ، وتعيينه للقراءة فقط ، ثم محاولة نسخ الملفات إلى المجلد. إذا كنت تستطيع إعادة إنتاج هذا في حالة اختبار صغيرة ، فيجب عليك إرسال خطأ إلى Apple.