Это поведение известно как Автомат c Завершение . Я считаю это ошибкой, но Apple считает, что это особенность.
Возможно, ваше приложение не завершило работу. Может показаться, что ушел. «Запуск» его снова заставит его снова появиться в доке. Также возможно, что некоторые приложения, которые выглядят так, как будто они все еще работают, на самом деле были закрыты системой. Теоретически, если вы попытаетесь переключиться на них, они будут запущены и им будет сказано восстановить их прежнее состояние, чтобы сохранить иллюзию, что они работали все время. На практике приложения (даже Apple) редко должным образом восстанавливают вещи так, как они были.
Список процессов в Activity Monitor является истинным отражением того, что на самом деле работает, а что нет. Посмотрите, чтобы определить, действительно ли ваше приложение было прервано.
Предполагается, что разработчик должен подписаться на Automati c Прекращение, потому что он требует явного кодирования восстановления состояния. Однако в шаблонах проекта / назначения приложения Xcode эта функция включена по умолчанию. Вы можете удалить ключ NSSupportsAutomaticTermination
из своего Info.plist, чтобы отключить его.
Аналогичным образом, вы, вероятно, захотите отключить и внезапное завершение, если вы не готовы его поддержать. Вы удалите ключ NSSupportsSuddenTermination
.