Во первых приложения бывают разных типов. Есть обычные, есть с инсталятором, а есть порты. И все эти сущности не связаны между собой, но достаточно удобным способом.
Когда я скачиваю Journalr, программу для управления заметками в которой обычно готовлю свои записи перед публикацией. То у меня скачивается файл в dmg-формате и его мантирую для установки. Внутри лежит специальная папка с расширением .app. Этот файл я перетаскиваю себе на диск, куда-то, и запускаю. Приложение знает где хранить свои настройки (~/Library/Application Support/) и файлы данных. Когда я переношу Journalr.app в корзину и очищаю ее, то файлы данных и настройки продолжают лежать там же где и остались, что в общем-то логично.
Кейс номер 2. Мне захотелось установить приложение из портов. Вообще, замечу что GUI-приложений в портах всего несколько, десяток от силы. Эти приложения установятся в /Application/Mac Ports/. Если я захочу их удалить перетащив в корзину, то я сам себе буратина. Можете проверить на любой операционной системе, что произодет если пойти и тупо подуалять файлы :)
Если мне надо будет удалить "красиво", то я запущу sudo port uninstall (sudo специально написал, типа выделить это хочу).
Кейс номер 3. Я хочу установить какое-то системное приложение, большое. Например XCode. Для установки используется .pkg файл, который внутри имеет все что нужно для счастья молодого организма, т.е. полноценный инсталятор с выбором пути и пользовательским соглашением. Можно попытаться удалить куски, про результаты можно догадаться знаешь.
Если кратко, то я не увидел где-то явного отрабатывания события удаления программы. Но есть еще одно интересное свойство операционной системы, заключается оно в том, что приложения свободно встраиваются друг в друга, например это хорошо видно в Apple Script, ну или на крайняк через меню Services. Journalr привел в качестве примера не просто так, во первых он добавляется в меню Services, а во вторых создает URL префикс journalr://entry/XXX, например в iGTD можно ставить ссылки на записи внутри Journalr'а. Так вот это все пропадает после удаления программы. Магия?
Есть подозрение, что в работе принимает участие Spotlight, который индексирует все что есть живого на диске. Так что вот.
