Невозможно использовать старый NDK (android-ndk-r17c) после обновления Catalina из-за новой безопасности


14

После обновления до macOS Catalina мой проект больше не будет собираться. Это связано с тем, что Каталина считает, что двоичные файлы в 'android-ndk-r17c' не принадлежат надежному разработчику.

Вы получаете сообщения, такие как: «« ld »не может быть открыт, потому что разработчик не может быть проверен». «macOS не может проверить, что это приложение не содержит вредоносных программ»

Я должен использовать старый NDK из-за проблем с родным openCV SDK библиотеки и более новыми NDK. Они работают над этим, но новый SDK еще недостаточно стабилен для меня.

Я смог обойти «clang» и «clang ++», не имея возможности работать, перейдя на панель безопасности и нажав «Разрешить в любом случае» в предупреждениях безопасности. Однако, пробуя это с помощью «Id», я могу обойти первое предупреждение, нажав «Разрешить в любом случае», но, кажется, оно вызывается впоследствии, и при последующем вызове у меня нет возможности разрешить его открытие.

Там действительно нет кода. У меня просто есть (и уже давно) ссылка на Android Studio NDK, указывающая на старый NDK через конфиг.

В IDE из NDK не удается загрузить «Id»:

«Невозможно открыть« ld », потому что разработчик не может быть верифицирован». «macOS не может проверить, что это приложение не содержит вредоносных программ»


См. Github.com/android/ndk/issues/1060 . Я не знаю, почему вы смогли позволить только некоторые из них. Это работало нормально для меня.
Дэн Альберт

Ответы:


21

Я только что нашел решение.

Это утомительный процесс, но:

  1. MacOS: откройте системные настройки
  2. MacOS: перейдите в раздел Безопасность и конфиденциальность (оставьте этот файл открытым, он понадобится вам на протяжении всего процесса)
  3. Unity: иди и построй свой проект. При появлении ошибки нажмите «Отмена»
  4. MacOS: в окне «Безопасность и конфиденциальность» перейдите и нажмите «Разрешить» рядом с ошибкой «лязг», чтобы система MacOS распознала приложение и использовала его.
  5. Ошибка появится снова, но на этот раз попросит вас «открыть» ее. Нажмите «Открыть»
  6. Сборка будет несколько раз терпеть неудачу из-за различных зависимостей, но она будет терпеть неудачу с разными файлами, которые вам нужно будет разрешить, как на предыдущих шагах.
  7. Создайте заново свой проект.
  8. Если это не удается, выполните шаги снова, пока он не перестанет работать. Каждая ошибка, которую вы получаете с файлом, который не распознается, будет отличаться каждый раз

2
дополнительно: если вы делали это sudo spctl --master-disableраньше, под «Разрешить загрузку приложений из:» есть 3 опции, вы должны выбрать второй с именем «Магазин приложений и идентифицированные разработчики» на шаге 4, чтобы вы могли видеть «Разрешить» и «Звонок» ошибка.
Линьцзян

Пожалуйста, добавьте к инструкциям, которые вы должны быть на вкладке Общие безопасности и конфиденциальности, чтобы увидеть сообщение безопасности.
Стив

5

Чтобы разрешить приложениям, загруженным из Anywhere на MacOs Catalana, сделать это:

sudo spctl --master-disable

Это действительно что-то делает? Я все еще не могу ничего запустить
Луз

Это может удалить несколько шагов ... поэтому нам нужно нажать "разрешить", а затем "открыть" ... в противном случае каждая отдельная библиотека, используемая каждым инструментом, должна быть допущена, что это кошмарное яблоко. давайте сделаем это для каждой папки ..
Paschalis

Так что для того, чтобы появилось «Где угодно», вы должны оставить модуль «Безопасность и конфиденциальность» в Настройках. Однако теперь я все еще получаю сообщение «невозможно проверить», но нигде нет разрешений или открытий.
UserOneFourTwo

3

Я хотел бы добавить к ответу Мудассара Ашрафа.

Если после нажатия кнопки « Отмена » вы не видите опцию « Разрешить » , переключите «Разрешить загрузку приложений из» в окне «Безопасность» на « Магазин приложений и выявленные разработчики ». Это как-то заставит появиться кнопку « Разрешить ». Затем переключите его обратно на « Anywhere ». Повторите при необходимости.


1

Если по какой-либо причине в вашем окне «Безопасность и конфиденциальность» кнопка « Разрешить» не появляется, просто переместите ваш ndk в другой каталог и попробуйте снова весь процесс.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.