Ich versuche, einen schreibgeschützten Ordner mit darin enthaltenen Dateien an einen anderen Speicherort zu kopieren. Wenn ich -copyItemAtPath verwende: toPath: error: Es kopiert den Ordner, aber nicht die Dateien. Beispielcode, der den Fehler veranschaulicht, ist unten.
Das Ändern der Berechtigungen des Ordners vor dem Kopieren ist in diesem Fall keine Option.
Kann jemand einen Vorschlag anbieten?NSFileManager -copyItemAtPath: toPath: Fehler: schlägt mit schreibgeschütztem Ordner fehl
Der Fehler ist:
Fehler Domain = NSPOSIXErrorDomain-Code = 13 Userinfo = 0x1001102a0 "Der Vorgang konnte nicht abgeschlossen werden Zugriff verweigert"
Die userinfo der Fehler ist: {
NSDestinationFilePath = „/ Users/xxxxxxx/Desktop/readonlyfilecopy/testdir/Abbey Road.jpg ";
NSFilePath = "/ Benutzer/xxxxxxx/Desktop/testdir/Abbey Road.jpg";
NSUserStringVariant = Kopieren;
}
#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;
}
Wenn Sie schreibgeschützt sagen, meinst du r-x oder r-- Erlaubnis? – JWWalker
Es meldet "schreibgeschützt" im Finder Get Info und r-xr-xr-x mit ls -l. Ich habe den Ordner erstellt, indem ich ein paar Dateien in einen neuen Ordner kopiert habe, Informationen abgerufen und alle Berechtigungen auf schreibgeschützt gesetzt habe. – Mel