2012-04-13 3 views
0

Я хочу, чтобы приложение было «самодостаточным» (я не знаю, использую ли я правильное слово). «Установка приложения в мусорный ящик удалит все» - это то, что я имел в виду). Но для приложения требуется несколько ресурсов для запуска. Обычно я помещаю эти ресурсы в папку. Я хочу переместить эти ресурсы в папку приложения (содержимое пакета). Я могу это сделать? Это хорошая практика?Создание папки внутри Mac OS App

Когда я тестирую приложение непосредственно из Xcode, приложение работает нормально. Но если я запустил его из finder, приложение скажет, что не удалось создать папку с ресурсами, потому что разрешение было отклонено. Я проверил разрешение на папку приложения - у пользователя (меня) есть доступ на чтение/запись. Мне интересно, что вызывает это другое поведение.

Последний вариант - использовать папку поддержки приложений, но я не хочу оставлять трейлы, когда пользователь удаляет приложение.

Может кто-нибудь помочь мне здесь?

+0

Я считаю, что это стандарт для упаковки приложений на Mac OSX. Я также считаю, что для доступа к нему вам нужно иметь приказ в каталоге. – jahroy

ответ

3

Приложения живут в каталоге /Applications, где пользователи обычно не имеют доступа на запись. Требование, чтобы приложение имело разрешение на запись в системных папках, является крайне плохой практикой.

Файлы времени выполнения должны жить в ~/Library/Application Support. Хотя эта папка имеет тенденцию накапливать некоторый треск, если ваше приложение не оставляет действительно больших файлов, это не должно быть проблемой.

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

+0

Мне кажется, что ресурсы, о которых идет речь, не являются _WRITTEN BY_ приложение во время выполнения, но _BUNDLED WITH_ приложение во время сборки. – jahroy

+0

@jahroy: Были ли в этом случае проблем нет. –

+0

Извините, я должен быть более ясным в вопросе. Я намеревался внести изменения в ресурсы во время выполнения. Я поеду с программой поддержки приложений. благодаря –

Смежные вопросы