我正在尝试将一个只读的文件夹复制到另一个位置,但该文件夹中包含文件。当我使用-copyItemAtPath:toPath:error:它复制文件夹,但不复制文件。演示错误的示例代码如下 在这种情况下,在复制之前更改文件夹的权限不是一个选项 有人可以提出建议吗?
错误是:
错误域= NSPOSIXErrorDomain代码= 13 UserInfo = 0x1001102a0“操作无法完成。权限被拒绝”
错误的userInfo是:{
NSDestinationFilePath =“/ Users / xxxxxxx / Desktop / readonlyfilecopy / testdir / Abbey Road.jpg”;
NSFilePath =“/ Users / 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;
}
答案 0 :(得分:1)
您确定可以阅读文件夹中的每个文件吗?如果是这样,那么这可能实际上是一个可可虫。它完全有可能创建一个新文件夹,将其设置为只读,然后尝试将文件复制到该文件夹中。如果您可以在一个小的测试用例中重现这一点,那么您应该submit a bug到apple。