Место по умолчанию для сохранения уникального файла в Какао - PullRequest
1 голос
/ 04 апреля 2011

У меня есть приложение Какао, которое читает и сохраняет данные в отдельный файл. Этот файл, по сути, является частью приложения; Вы можете думать об этом как о файле конфигурации. Что было бы лучшим местом для сохранения этого файла? Внутри <App name>.app/ режиссера? В каком-то скрытом каталоге у пользователя дома?

Заранее спасибо?

Ответы [ 2 ]

4 голосов
/ 04 апреля 2011

Не кладите его в пакет .app. Это может быть недоступно для записи пользователю, и файл настроек будет глобальным, а не для пользователя.

Наиболее подходящее место, вероятно, находится в каталоге поддержки приложений пользователя: ~/Library/Application Support/FooApp (где FooApp - название вашего приложения). Вы можете создать путь к этому каталогу с помощью следующего фрагмента кода (который может потребоваться слегка адаптировать к вашим целям):

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES);
NSString *path = [paths objectAtIndex:0];
path = [path stringByAppendingPathComponent:@"FooApp"];    // The file will go in this directory
NSString *saveFilePath = [path stringByAppendingPathComponent:@"save_file.dat"];
3 голосов
/ 04 апреля 2011

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

- (NSString *)applicationSupportDirectory
{
    NSString *executableName =
        [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleExecutable"];
    NSError *error;
    NSString *result =
        [self
            findOrCreateDirectory:NSApplicationSupportDirectory
            inDomain:NSUserDomainMask
            appendPathComponent:executableName
            error:&error];
    if (error)
    {
        NSLog(@"Unable to find or create application support directory:\n%@", error);
    }
    return result;
}

В дополнение к реализации, показанной выше, он также создает каталог, если его там еще нет.

Найти более подробное обсуждение вэта статья Какао с любовью

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...