Как создать папку в / var / mobile / Documents для взломанного iOS-устройства? - PullRequest
1 голос
/ 04 декабря 2011

моему приложению нужно загрузить файл, но я хотел бы сохранить все эти файлы в репозитории в / var / mobile / Documents.Для создания этой папки я использую:

NSString *path;
    path = [@"/var/mobile/Documents/" stringByAppendingPathComponent:@"myFolder"];
    NSError *error;
    if (![[NSFileManager defaultManager] fileExistsAtPath:path])    //Does directory already exist?
    {
        if (![[NSFileManager defaultManager] createDirectoryAtPath:path
                                       withIntermediateDirectories:NO
                                                        attributes:nil
                                                             error:&error])
        {
            NSLog(@"Create directory error: %@", error);
        }
    }

Но это не работает, можете ли вы сказать мне, почему?Спасибо

1 Ответ

1 голос
/ 04 декабря 2011

Вы не должны получить путь к папке с документами таким образом. Используйте это вместо:

NSString *dir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
path = [dir stringByAppendingPathComponent:@"myFolder"];

Вы не должны жестко кодировать системные пути, за исключением, возможно, /dev/null и /dev/random. Apple может изменить их в любое время в будущей версии iOS.


BTW /var/mobile/Documents/ в любом случае недоступен для записи, потому что в противном случае он будет мешать другим приложениям, которые также пишут там.

...