Есть ли разрешение при создании файла в пути ресурса в mainBundle - PullRequest
0 голосов
/ 18 января 2012

Я хочу иметь возможность создавать, переименовывать или удалять временный файл внутри resourcePath из mainBundle.

NSString* path = [[NSBundle mainBundle] resourcePath];
NSFileManager* filemgr = [NSFileManager defaultManager];

for (int i=0; i<size; i++)
{
    NSString* file = [NSString stringWithFormat:@"%@/_%i.jpg", path, i];

    if ([filemgr fileExistsAtPath:file] == YES)
    {
        [filemgr removeItemAtPath:file error: NULL];
    }

    [file release];
}

[filemgr release];

Нужно ли дополнительное разрешение для запуска этого на реальном устройстве?

Ответы [ 2 ]

2 голосов
/ 18 января 2012

Невозможно создать / переименовать / удалить что-либо в каталоге ресурсов основного пакета на устройстве . На симуляторе, похоже, работает. Распространенным решением для этого является копирование ресурсов из пакета в каталог документов вашего приложения и работа с копиями.

Вот как вы получаете каталог документов:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];

Подобный вопрос задавался ранее.

0 голосов
/ 08 мая 2014

Вы можете обнаружить симулятор или устройство в файлах, сгенерированных симулятором, в папке ресурсов вашего проекта и получить путь от ресурсов на устройстве.

...