“Aucun fichier ou répertoire” Erreur lors de la création du répertoire

Je cherche à enregistrer des vignettes de l'utilisateur de générer des photos dans un sous-répertoire dans le répertoire documents, mais je suis incapable de créer le sous-répertoire dans la première place. Lorsque je tente de créer le sous-répertoire dans le répertoire documents, j'obtiens cette erreur (Aucun fichier ou répertoire):

Error Domain=NSCocoaErrorDomain Code=4 "The operation couldn’t be completed. (Cocoa error 4.)"
UserInfo=0x17ef9c90 {NSFilePath=/var/mobile/Applications/FD0CC480-97FE-4E50-931F-5341DB6AD92B/Documents/com.Jonathan.App-Name/707F0431-7A09-4D33-B122-13C48AD4CA53, 
NSUnderlyingError=0x17e51520 "The operation couldn’t be completed. No such file or directory"}

Je suis tellement confus. Je sais que le répertoire n'existe pas, parce que je suis en train de le créer! La seule chose que je peux penser, c'est que le répertoire documents est incorrect, mais c'est directement à partir de l'Apple Docs.

Suis-je tort d'essayer de créer le sous-répertoire?

- (NSURL *)documentsDirectory
{
    NSFileManager *sharedFM = [NSFileManager defaultManager];

    NSArray *possibleURLs = [sharedFM URLsForDirectory:NSDocumentDirectory
                                             inDomains:NSUserDomainMask];

    NSURL *appSupportDir = nil;
    NSURL *appDirectory = nil;

    if ([possibleURLs count] >= 1)
    {
        //Use the first directory (if multiple are returned)
        appSupportDir = [possibleURLs objectAtIndex:0];
    }

    //If a valid app support directory exists, add the
    //app's bundle ID to it to specify the final directory.
    if (appSupportDir)
    {
        NSString *appBundleID = [[NSBundle mainBundle] bundleIdentifier];

        appDirectory = [appSupportDir URLByAppendingPathComponent:appBundleID];
    }

    return appDirectory;
}

- (NSURL *)thumbnailDirectoryWithName:(NSString *)theName
{
    NSURL *directory = [[self documentsDirectory] URLByAppendingPathComponent:theName];
    NSURL *thumbnailsDirectory = [directory URLByAppendingPathComponent:@"Thumbnails"];

    NSError *error;

    if ([[NSFileManager defaultManager] fileExistsAtPath:[thumbnailsDirectory path]] == NO)
    {
        [[NSFileManager defaultManager] createDirectoryAtURL:thumbnailsDirectory withIntermediateDirectories:NO attributes:nil error:&error];

        if (error)
        {
            NSLog(@"[Thumbnail Directory] %@", [error description]);

            return nil;
        }
    }

    return thumbnailsDirectory;
}

J'ai aussi essayé de createDirectoryAtPath: et stringByAppendingPathComponent: avec en vain.

La NSURL *directory dans thumbnailDirectoryWithName: retourne:

/var/mobile/Applications/FD0CC480-97FE-4E50-931F-5341DB6AD92B/Documents/com.Jonathan.App-Name/707F0431-7A09-4D33-B122-13C48AD4CA53

Le dernier composant du chemin d'accès au fichier, 707F0431-7A09-4D33-B122-13C48AD4CA53, est l'identifiant unique d'une Entité dans la Base de Données, ce qui me permet d'attribuer un nom unique à un répertoire.

Toute aide est grandement appréciée!

OriginalL'auteur Jonathan | 2013-12-16