Я установил macOS v11 (Big Sur) вчера и с тех пор не могу запустить какое-то старое приложение. Я получаю следующее сообщение:

У вас нет разрешения на открытие приложения

Думаю, это приложение от неизвестного разработчика.

Я пробовал разные методы, которые работали в macOS v10.15 (Catalina), например:

spctl --master-disable

Или пробовал еще и SIP и AMFI отключить.

Еще пробовал:

sudo xattr -rd com.apple.quarantine /Applications/my_app.app

Если я запускаю приложение с терминала, я получаю текстовую версию ошибки:

Приложение не открывается по непредвиденной причине, error = Error Domain = NSOSStatusErrorDomain Code = -10826 «kLSNoLaunchPermissionErr: у пользователя нет разрешения на запуск приложения (управляемые сети)» UserInfo = {_ LSFunction = _LSLaunchWithRunningboard, _LSLine = 2508, NSUnderlyingError = 0x7fcb24c13ec0 {Error Domain = RBSRequestErrorDomain Code = 5 «Запущенный процесс завершился во время запуска». UserInfo = {NSLocalizedFailureReason = Запущенный процесс завершился во время запуска.}}}

Также пробовал отключить шифрование и запустить:

csrutil authenticated-root disable

Это окно ошибки:

Enter image description here

DeejonZ

Ответов: 18

Ответы (18)

Проблема в моем случае была связана с проблемой Big Sur, когда сжатые двоичные файлы UPX не распознаются должным образом, поэтому они не выполнялись с ошибкой разрешения.

Здесь есть дополнительная информация: Приложение, сжатое UPX, не запускается в последней версии macOS: Big Sur 11.01 # 424

Итак, решение состоит в том, чтобы распаковать двоичный файл с помощью UPX и запустить его в обычном режиме.

Установите upx с Homebrew (исполняемый файл brew):

brew install upx

Теперь запустите эту команду:

sudo upx -d /Applications/my_app.app/Contents/MacOS/my_app

(Обратите внимание, что вы должны указать полный двоичный путь.)

Вы должны использовать путь к вашему двоичному файлу вместо "/Applications/my_app.app/Contents/MacOS/my_app "

Затем запустите приложение в обычном режиме.

Если вы загружаете приложение Xcode в выпуски GitHub, обязательно сначала сжимайте его на своем компьютере, не позволяйте GitHub сжимать его.

Проверьте, в какой папке приложений находится ваше приложение, если оно не в папке вашего пользователя (там есть большинство ваших приложений, например, Google Chrome, FaceTime), переместите приложение туда и попробуйте открыть его снова, у меня это сработало

Я столкнулся с этой проблемой при отправке коллеге для тестирования приложения Mac, которое я разработал. Он попробовал некоторые из предложений на этом форуме, но они, похоже, не сработали (а мы оба работаем в Intel, поэтому советы Rosetta не применимы).

Что в конечном итоге сработало для меня, так это создание чистого образа диска, затем добавление файла .app к образу и отправка ему образа диска. Похоже, проблема возникает, когда файл .app сжимается, и добавление файла в образ диска сначала помогает предотвратить проблему.

Мы просто убрали покупки в приложении из возможностей, и все заработало (приложение распространяется с сайта компании https://nektony.com/mac-app-cleaner).

Собственно, он удалил "StoreKit.framework" из файла проекта.

Для моей команды это оказалось проблемой, когда Git добавил CRLF в файл Entitlements.plist.

После того, как я исправил файл .gitattributes, чтобы использовать LF только с файлами p-list, я создал новое приложение, подписал его код, и оно сработало - никаких прерываний. Я также должен был убедиться, что Jenkins стер рабочую область, поскольку сначала казалось, что это не исправляет файл.

У меня была эта проблема с ошибкой «Причина завершения: CODESIGNING пространства имен, код 0x1», и мне удалось открыть приложение после того, как я снова подписал его на этом компьютере, с помощью команды:

codeign --force --deep --sign - /Applications/AppName.app

Никакое другое решение у меня не помогло.

Я тоже столкнулся с той же проблемой с этой ошибкой. Мой DBeaver не работал, пока я открывал его после недели, когда не использовал его:

У вас нет разрешения на открытие этого приложения.

Я даже проверил системные настройки. Он показал приемы в безопасности. Моя текущая ОС - macOS v11 (Big Sur).

Так попробовал в терминале:

Шаг 1: sudo spctl --master-disable -> не работает

Шаг 2: xattr -rd com.apple.quarantine DBeaver -> не работает

Шаг 3: Затем я открыл DBeaver в терминале и запустил sudo chmod -R 777 -> снова, это не сработало

Шаг 4: Наконец я попробовал:

codeign --force --deep --sign - /Applications/DBeaver.app

Ух, отлично работает. Теперь мой DBeaver работает нормально.

Похоже, проблема с правами доступа к одному из файлов глубоко в .app, который вы переместили в каталог приложений.

Откройте Терминал или iTerm, введите «chmod -R 755» и перетащите .app в окно, после чего полный путь появится в Терминале или iTerm.

Это будет выглядеть так:

chmod -R 755 Path\ to\ app\ file.app

Нажмите возврат

Затем вы можете открыть файл приложения в обычном режиме, но это не удастся, потому что привратник не сможет проверить файл. Оттуда перейдите в «Безопасность и конфиденциальность» в «Системных настройках», а затем нажмите, чтобы разрешить открытие приложения.

Вам необходимо запустить SUDO xattr -d com.apple.quarantine . Важно не забыть sudo, иначе он не сработает.

Откройте Терминал или iTerm и введите sudo chmod -R 755, затем перетащите .app в окно, что приведет к появлению полного пути в Терминале или iTerm. Это сработало для меня, переместив параметр -R сразу после chmod.

Это будет выглядеть так:

sudo chmod -R 755 Path\ to\ app\ file.app

Наберите верните.

Этот ответ будет применяться только к определенному набору приложений

У меня была эта проблема с универсальным двоичным кодом (Терминал), который я продублировал и явно установил в информации «Открыть с помощью Rosetta» для запуска инструментов x86, таких как Homebrew. После обновления до 11.0.1 с 11.0.0 версия терминала x86 перестала работать с указанной выше ошибкой.

Мне просто пришлось удалить дубликат, создать еще один дубликат терминала и снова включить Rosetta.

Сначала выясните, что ваша подпись приложения действительна:

От Официальный сайт Apple:

Все приложения в App Store подписаны Apple, чтобы гарантировать, что они не были неправильно использованный или подделанный. Apple подписывает любое приложение, поставляемое с Apple устройств.

Чтобы проверить это, вы можете ввести в свой терминал следующее (путь к Folx.app приведен только для примера, и вы должны заменить его желаемым приложением):

pkgutil --check-signature /Applications/Folx.app

если вы получите ответ «недействительная подпись», примерно так: enter image description here

Тогда ваше приложение, возможно, было установлено каким-то хакерским способом! И теперь ваш самый простой способ - удалить приложение и переустановить его снова.

В противном случае вам будет сложно наслаждаться (😎) с этим приложением, Xcodeи другими подписями ...

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

До сих пор я не знаю, почему возникла эта проблема.

sudo chmod -R 777 / app / to / path

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

Это единственное решение, которое сработало в моем случае.

Скачать macOS-GateKeeper-Helper.

  • Откройте GateKeeper_Helper.command, дважды щелкнув по нему (если он говорит о ненадежном разработчике, запустите его из Настройки - Безопасность и конфиденциальность - Общие - Все равно открыть)

  • Выберите вариант 4 (Удалить приложение из карантина GateKeeper)

  • Перетащите файл приложения из папки Applications, нажмите клавишу Return и введите свой пароль

  • Вы увидите сообщение типа «Приложение удалено из карантина». Вот и все. Попробуйте открыть приложение как обычно.

Ни одно из этих решений у меня не помогло. Обновление до macOS v11.4 (Big Sur) устранило проблему в моем случае.

Нашел решение:

  1. Вам нужно отказаться от приложения, (при необходимости установить Xcode tools):

    xcode-select --install
    
    sudo codeign --force --deep --sign - /Applications/YourAppName.app
    
  2. Переместить приложение в карантин:

    sudo xattr -d -r com.apple.quarantine /Applications/YourAppName.app
    
  3. Перейдите в / Applications / YourAppName.app / Contents / MacOs и сделайте файл внутри исполняемого файла:

    sudo chmod + x имя_сценария
    

У меня это сработало, и приложение запустилось.

2022 WebDevInsider