Вопрос или проблема
Может кто-нибудь сказать, что именно мне нужно сделать из этого объяснения?
После обширного перебора и множества бесполезных поисков в Google я нашел решение, которое требовало изменения статуса выполнения файла «внутреннего» приложения. Эта строка:
chmod +x SomeApp.app/contents/macos/*
Исходила проблема во всех случаях, которые я наблюдал. Флаг
+x
обозначает файл как исполняемый, а единственным файлом в директории/contents/macos/
является бинарный файл, представляющий собой реальный файл, который должен выполняться, когда вы дважды щелкаете на приложении (файл.app
на самом деле является просто папкой).Надеюсь, это поможет кому-то еще!
Вам нужно
- запустить Terminal [Программы/Утилиты], затем ввести или вставить
chmod +x
[включая пробел после x] - затем перетащите приложение, для которого нужно изменить права, прямо в окно Terminal, что запомнит правильный путь
- нажмите Backspace один раз, так как последняя операция добавит ненужный пробел
- Затем вам нужно добавить подпуть к фактическому исполняемому файлу внутри приложения, поэтому скопируйте это и вставьте в конец вашей текущей строки в Terminal
/Contents/MacOS/*
- Нажмите Enter
Это изменит права на исполняемые.
Пример «завершенной» команды Terminal, используя TextEdit в качестве примера
chmod +x /Applications/TextEdit.app/Contents/MacOS/*
Примечание:
Terminal никогда не говорит вам «Успех» или «Готово» и т. д. Если вы видите добавление новой строки с надписью
yourMac:~ yourname$
, значит, это завершено.
Если есть ошибка, она будет сообщена.
Если вы получите ошибку, говорящую о том, что у вас нет разрешения на это, то начните сначала, но используйте
sudo chmod +x
для первого шага.
Это, по сути, режим «Перезаказ администратора».
Вас попросят ввести пароль вашего Mac, когда вы нажмете Enter [который вообще не будет отображаться по мере его ввода], затем нажмите Enter снова.
Ответ или решение
Когда приложение "exampleApp" не может быть открыто, это может произойти из-за проблем с его исполняемым статусом. Часто такие ситуации возникают, если необходимые разрешения на выполнение не установлены. В данном руководстве мы рассмотрим, как изменить статус исполняемого файла в macOS с использованием командной строки.
Шаги по изменению статуса исполняемого файла
-
Запуск терминала:
- Откройте приложение «Терминал», которое находится в папке «Программы» → «Утилиты».
-
Ввод команды для изменения прав:
- В терминале введите команду:
chmod +x
(не забудьте оставить пробел после+x
).
- В терминале введите команду:
-
Перетаскивание приложения в терминал:
- Найдите нужное приложение в Finder, затем перетащите его в окно терминала. Это автоматически подставит полный путь к приложению.
-
Корректировка пути:
- После того как путь будет вставлен, нажмите клавишу «Backspace» один раз для удаления лишнего пробела, который может появиться в конце команды.
- Далее добавьте к команде подкаталог, в котором расположен исполняемый файл, добавив
/Contents/MacOS/*
в конец введенной строки.
-
Завершение команды:
- Ваша команда должна выглядеть примерно так:
chmod +x /Applications/exampleApp.app/Contents/MacOS/*
.
- Ваша команда должна выглядеть примерно так:
-
Нажатие Enter:
- Нажмите клавишу «Enter». Это изменит разрешения, установив их на исполняемое.
Обратите внимание:
- После ввода команды терминал не выдаст сообщения о том, что все прошло успешно. Если вы увидите новый интерфейс, подобный этому:
yourMac:~ yourname$
, это значит, что операция завершена. В случае возникновения ошибок терминал сообщит об этом.
Дополнительные советы:
- Если при выполнении команды вы получили сообщение о нехватке прав, начните процесс сначала, используя
sudo chmod +x
вместоchmod +x
. Это обеспечит выполнение команды с административными правами. В этом случае вам будет предложено ввести пароль вашего компьютера (знак ввода не будет отображаться).
Заключение
Следуя приведенным выше шагам, вы сможете успешно изменить статус исполняемого файла приложения "exampleApp" и устранить проблему, связанную с его запуском. Будьте внимательны при вводе команд в терминале и обращайте внимание на возникающие ошибки для быстрого их решения. Эти знания могут быть полезны и при работе с другими приложениями в macOS.