MacOS Notarize - Gatekeeper не распознает нотариально заверенное приложение
У меня есть приложение MacOS, и я хочу распространять его среди пользователей бета-версии в виде файла DMG за пределами AppStore.
Я прочитал несколько статей о том, как нотариально заверять приложение, и следую инструкциям, чтобы успешно заверять файл DMG без проблем.
Моя машина для разработки работает на MacOS 10.14, а версия XCode - 10.1.
Однако, когда я пытаюсь проверить нотариально заверенный файл DMG на другом тестовом компьютере, который работает на MacOS 10.14.5 (путем отправки файла через AirDrop или загрузки с моего веб-сайта), я все равно вижу всплывающее окно от GateKeeper с сообщением "'myApp.dmg". "не может быть открыт, потому что Apple не может проверить его на наличие вредоносного программного обеспечения". на этой машине.
Похоже, что Gatekeeper не работает должным образом для проверки нотариально заверенного файла DMG. Есть ли у кого такая же проблема и как это исправить?
0 ответов
Короткий ответ
Это могло быть из-за RPATH
ссылка на путь за пределами пакета приложений. Удаление этого RPATH решит проблему.
Проверка файлов журнала
Дополнительную информацию об отклонении (после попытки запустить заблокированное приложение) можно найти в Console.app
. Обратите внимание, что вам следует открыть Console.app, прежде чем пытаться открыть заблокированное приложение, иначе не все сообщения могут быть зарегистрированы. Вы должны искать процессXprotectService
в журналах вашего устройства (т.е. выберите свое устройство на левой боковой панели Console.app). Если проблема действительно связана с RPATH, вы должны найти такую запись:
XprotectService: [com.apple.xprotect: xprotect] Ошибка файла / пути / к / вашему / исполняемому файлу / или / библиотеке на rPathCmd /rpath/, вызывающая / проблему / (rpath разрешен в: (путь не найден), bundleURL: /path/to/your/bundle.app)
Изучение этих файлов журналов может дать вам ключ к решению и других проблем.
Обратите внимание, что я получил следующую информацию от инженера Apple:
Gatekeeper не информирует пользователей через пользовательский интерфейс о специфике ошибки, хотя разработчики могут просмотреть ее в журналах. Процесс нотариального заверения предназначен исключительно для обнаружения вредоносного программного обеспечения и не повторяет принудительное применение Gatekeeper. Вам по-прежнему нужно нотариально заверить программное обеспечение и протестировать его с помощью Gatekeeper.
В будущем мы стремимся предоставить разработчикам более эффективные инструменты для устранения некоторых из этих распространенных ошибок.
Связаться с Apple
Если вы не можете решить свою проблему с помощью вышеуказанной информации, вы можете связаться с самой Apple с помощью Помощника по обратной связи. Они не очень быстро отвечают (~1-2 недели), но ответы скорее по существу.