2010-11-30 5 views
1

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; 
} 
+0

Wenn Sie schreibgeschützt sagen, meinst du r-x oder r-- Erlaubnis? – JWWalker

+0

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

Antwort

1

Sind Sie sicher, dass Sie jede einzelne Datei im Ordner lesen kann. Wenn ja, dann könnte dies tatsächlich ein Cocoa-Bug sein. Es ist durchaus möglich, dass ein neuer Ordner erstellt wird, schreibgeschützt wird und dann versucht wird, Dateien in den Ordner zu kopieren. Wenn Sie dies in einem kleinen Testfall reproduzieren können, sollten Sie submit a bug zu Apple.

+0

Ja, ich bin mir sicher, dass ich jede Datei im Ordner lesen kann. Ich werde einen Fehler einreichen. Vielen Dank. – Mel

Verwandte Themen