Инструкции

Приложение неожиданно завершило работу на Mac - что делать

Приложение неожиданно завершило работу на Mac - что делать

Приложение неожиданно завершило работу на Mac - что делать

Ситуация: запускаете программу на Mac, на секунду появляется иконка в Dock, потом сразу исчезает. macOS показывает окно:

"X" неожиданно завершило работу.
Нажмите "Повторить", чтобы снова открыть программу, или "Отправить отчёт в Apple"...

Нажимаете "Повторить" - то же самое. Отчёт Apple отправили - ничего не изменилось. Разбираем почему программы крашатся на старте и как это чинить.

5 основных причин падения программы на старте

В 95% случаев причина одна из этих:

  1. Сертификат разработчика отозван Apple
  2. Программа несовместима с текущей версией macOS
  3. Неверная архитектура (Intel на Apple Silicon или наоборот без Rosetta)
  4. Повреждённые файлы настроек программы
  5. Отсутствуют зависимости (библиотеки, фреймворки)

Рассмотрим каждую причину и как её диагностировать.

Причина 1: отозванный сертификат

Это самый частый случай в 2024-2026 годах. Apple активно отзывает сертификаты разработчиков которые:

  • Использовали сертификат для распространения вредоносного ПО
  • Не заплатили за продление подписки Developer Program
  • Закрыли бизнес и аккаунт
  • Были временно заблокированы за нарушения

Когда macOS запускает программу с отозванным сертификатом, она сразу её убивает и выдаёт "неожиданно завершило работу" без объяснения причины.

Как проверить:

Откройте Терминал и выполните:

codesign --verify --deep --strict --verbose=4 /Applications/НазваниеПрограммы.app

Если выдаёт что-то вроде "a sealed resource is missing or invalid" или "code object is not signed at all" - проблема с подписью.

Как починить:

Снять подпись полностью (самый надёжный способ):

sudo codesign --remove-signature /Applications/НазваниеПрограммы.app

Или снять атрибут карантина:

sudo xattr -rd com.apple.quarantine /Applications/НазваниеПрограммы.app

Если программа содержит вложенные .app или .framework (как Electron-приложения вроде Slack, VS Code), может потребоваться пройтись по ним всем:

sudo codesign --remove-signature /Applications/НазваниеПрограммы.app
sudo codesign --remove-signature /Applications/НазваниеПрограммы.app/Contents/Frameworks/*

После этого macOS перестанет проверять подпись и программа запустится.

Причина 2: несовместимость с версией macOS

Программы старше нескольких лет могут не запускаться на новых macOS. Apple постоянно убирает устаревшие API, и программы использующие их падают.

Как проверить:

  1. Откройте сайт разработчика, посмотрите минимальные требования
  2. Если указано "macOS 10.14 - 13", а у вас macOS 15 - возможно несовместимость
  3. Посмотрите дату последнего обновления - если 2019-2020 и старше, шансы на несовместимость высокие

Что делать:

Вариантов три:

  1. Скачать старую версию macOS в виртуальной машине (Parallels, VirtualBox, UTM) и запускать программу там
  2. Искать альтернативу - почти любой программе есть современная замена. Посмотрите каталог mac-soft.ru
  3. Написать разработчику - если программа нужна позарез, может быть готов обновить

Причина 3: неверная архитектура

Если у вас Mac с Apple Silicon (M1/M2/M3/M4) и запускаете Intel-программу без Rosetta - получите краш.

Как проверить архитектуру программы:

file /Applications/НазваниеПрограммы.app/Contents/MacOS/*

Выдаст что-то вроде:

  • Mach-O 64-bit executable x86_64 - Intel-версия
  • Mach-O 64-bit executable arm64 - Apple Silicon
  • Mach-O universal binary with 2 architectures - Universal (обе)

Если Intel и вы на Apple Silicon - установите Rosetta:

softwareupdate --install-rosetta --agree-to-license

Если наоборот (arm64 программа на Intel Mac) - ничего не поделать, скачайте Intel-версию программы.

Причина 4: повреждённые файлы настроек

Иногда программа падает из-за битого файла настроек - например, плагин зациклился на сохранении или при обновлении что-то сломалось.

Где лежат настройки:

~/Library/Preferences/com.вендор.название.plist

Например:

  • Firefox: ~/Library/Preferences/org.mozilla.firefox.plist
  • Xcode: ~/Library/Preferences/com.apple.dt.Xcode.plist
  • AppCleaner: ~/Library/Preferences/net.freemacsoft.AppCleaner.plist

Как починить:

  1. Закройте программу полностью
  2. Переименуйте .plist файл (например, .plist.bak)
  3. Запустите программу заново
  4. Она создаст свежий .plist с дефолтными настройками

Также настройки могут быть в:

  • ~/Library/Application Support/НазваниеПрограммы/
  • ~/Library/Caches/com.вендор.название/

Если программа всё равно падает, удалите (или переименуйте) эти папки тоже.

Причина 5: отсутствующие зависимости

Некоторые программы требуют установленные библиотеки, фреймворки или инструменты. Например:

  • Программы на Java требуют Java Runtime
  • Программы на Mono/Xamarin требуют Mono Framework
  • Программы на Python могут требовать конкретную версию Python

Как узнать что нужно программе:

otool -L /Applications/НазваниеПрограммы.app/Contents/MacOS/*

Эта команда выдаёт список всех библиотек которые программа использует. Если в списке есть путь типа /Library/Frameworks/XXX.framework/... - значит эта фреймворк должна быть установлена.

Универсальный диагностический метод: Console

У macOS есть встроенная утилита Console которая показывает все краши и логи:

  1. Откройте Applications - Utilities - Console (или Spotlight: "Console")
  2. В левом меню выберите Crash Reports
  3. Найдите последний отчёт о вашей программе
  4. Откройте - увидите технические детали краша

Ключевые вещи в отчёте:

  • Termination Reason: Namespace CODESIGNING - проблема с подписью (причина 1)
  • Termination Reason: Namespace DYLD, Code 1 Library missing - не хватает библиотеки (причина 5)
  • Exception Type: EXC<em>BAD</em>ACCESS - программа обратилась к недоступной памяти (обычно бага программы или несовместимость)
  • Exception Codes: illegal_instruction - программа использует инструкции недоступные на этом процессоре (причина 3)

Эти детали можно скопировать и отправить разработчику - он точно скажет в чём дело.

Частые вопросы

А если программа работала вчера, а сегодня падает?
Возможно Apple отозвала сертификат ночью. Или вчера macOS обновилась и отключила старое API. Попробуйте снять подпись (Причина 1, команда codesign --remove-signature).

После обновления macOS все программы перестали запускаться?
Массовый краш всех программ - признак поломки системы. Попробуйте загрузиться в Safe Mode (зажмите Shift при включении Intel Mac, или удержите кнопку питания на Apple Silicon). Если в Safe Mode работает - проблема в дополнительных расширениях или плагинах.

Как отправить отчёт разработчику правильно?
Откройте Console, найдите краш, экспортируйте в текстовый файл (правый клик - Export), приложите к письму разработчику. С этим файлом он за 5 минут скажет причину.

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

Комментарии (0)

Пока нет комментариев.