Domanda

Sto cercando di copiare una cartella di sola lettura, ma ha i file al suo interno, in un'altra posizione. Quando uso -copyItemAtPath: topath: errore: copia il cartella, ma non i file. Il codice di esempio che dimostra l'errore è inferiore.
La modifica delle autorizzazioni della cartella prima di copiare non è un'opzione in questo caso.
Chiunque può offrire un suggerimento?

L'errore è:
Errore di dominio = NSPOSIXErrorDomain Codice = 13 = UserInfo 0x1001102a0 "L'operazione non può essere completata. Permesso negato"

userInfo del errore è: {
    NSDestinationFilePath = "/ Users / xxxxxxx / Desktop / readonlyfilecopy / testdir / Abbazia Road.jpg";
    NSFilePath = "/ Users / xxxxxxx / Desktop / testdir / Abbazia Road.jpg";
    NSUserStringVariant = Copia;
}

#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;
}
È stato utile?

Soluzione

Sei certo si può leggere ogni singolo file nella cartella. Se è così, allora questo potrebbe in realtà essere un bug di cacao. E 'del tutto possibile che è la creazione di una nuova cartella, l'impostazione è di sola lettura, e quindi si tenta di copiare i file nella cartella. Se è possibile riprodurre questo in un piccolo test per caso, si dovrebbe presentare un bug ad Apple.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top