Создание «Деинсталлятора» для программы на Mac OS - PullRequest
6 голосов
/ 13 января 2010

У меня есть требование создать кроссплатформенное приложение, которое запускает веб-ссылку на форму обратной связи при ее удалении.

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

Как я могу выполнить это требование запуска сайта? (Должен ли я даже пытаться, этот процесс слишком чужд пользователям Mac?)

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

Ответы [ 5 ]

3 голосов
/ 13 января 2010

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

Кроме того, я бы очень внимательно переосмыслил ваш план создания кроссплатформенных приложений. Кроссплатформенные приложения, которые рассматривают Mac OS как запоздалую мысль и пытаются внедрить в Mac OS иностранные парадигмы, действительно раздражают. Если вам нужен клиент Mac, сохраните свой бэкэнд-код, но переписайте его с нуля. Не используйте что-то вроде Qt, независимо от того, насколько заманчива переносимость.

Итак, короче говоря, вы правы. Этот процесс чужд пользователям Mac (за исключением таких вещей, как плагины). Поэтому я предлагаю просто придерживаться нормального поведения Mac OS (перетащить в корзину). Желаем удачи!

3 голосов
/ 13 января 2010

Я не думаю, что это лучшая идея, так как процесс будет немного необычным для пользователей OS X. Как вы заметили, большинство приложений устанавливаются простым перетаскиванием файла .app в /Applications (или в другое место). У некоторых приложений есть установщик, но даже приложения с установщиком имеют лишь деинсталлятор ; и, кроме того, как пользователь Mac, я сразу заподозрил бы приложение, которое само установилось, и какой-то неизвестный скрипт оболочки.

2 голосов
/ 13 января 2010

Я бы рекомендовал против этого. Вы можете создать деинсталлятор, но ничто не помешает пользователю просто удалить его из папки приложения или использовать что-то вроде AppZapper. Большинство людей даже не ищут приложение для удаления, они просто удаляют приложение, поэтому, даже если вы напишите его, не будет гарантии, что оно будет использовано.

Я бы, конечно, избегал сценариев оболочки для деинсталлятора, ни за что в мире я бы лично не запускал его.

1 голос
/ 13 января 2010

Деинсталлятор на Mac не имеет смысла, и его было бы неудобно реализовывать, если бы вы могли вообще реализовать его так, чтобы его использовали люди.

Подумайте о попытке получить обратную связь с пользователем, используя альтернативные методы, такие как:

  • Добавить пункт меню, открывающий форму обратной связи
  • Требовать регистрации при загрузке программного обеспечения, а затем отправить электронное письмо пользователю в будущем, чтобы попросить отзыв
  • Время от времени запрашивать отзыв при выходе из приложения (хотя это может раздражать)
0 голосов
/ 06 сентября 2013

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

...