MacOS X: обновление программного обеспечения с помощью установщика dmg

У меня есть небольшое программное обеспечение для MacOS с простым установщиком dmg (откройте, перетащите в папку приложения, знаете ли). Моя проблема в том, что программа записывает небольшой ini-файл внутри пакета .app, и если я обновляю программу, этот файл теряется, потому что старый пакет удаляется перед записью нового.

Мой вопрос в том, знает ли кто-нибудь из вас элегантное решение для этого. Пользователь должен иметь возможность сохранить файл в любом месте e. грамм. рабочий стол и файл ini должны быть перемещены в новый пакет. Я не хочу сохранять этот файл вне пакета .app, потому что это оставит личные данные на компьютере, если пользователь просто удалит пакет.

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


person Oliver    schedule 19.09.2012    source источник


Ответы (1)


Сохранение данных в пакете приложений не рекомендуется.
В будущем выпуске используйте другое решение.

Чтобы решить текущую проблему, я могу придумать два решения:

Добавить два файла в файл .dmg

  • Новое приложение.
  • Backuptool: простой AppleScript для резервного копирования файла сделает эту работу.

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

Создайте программу установки

Другой вариант — написать установщик с помощью PackageMaker.
PackageMaker предоставляет параметры для запуска сценариев перед обновлением приложения.
Добавьте сценарий перед установкой, который создает резервную копию данных.

person Anne    schedule 19.09.2012
comment
+1 за рекомендацию не сохранять данные в наборе приложений; для этого требуется, чтобы пользователи имели доступ на запись к приложению (что является плохой идеей), делились этими личными данными со всеми другими пользователями, создавали проблемы с подписью кода, ... Вместо этого храните данные, управляемые приложением. в папке библиотеки пользователя — см. В каталоге библиотеки хранятся файлы, относящиеся к приложениям, в библиотеке разработчиков Apple. - person Gordon Davisson; 19.09.2012