Библиотека не загружена, подпись кода заблокирована на macos 10.15.4

Я получаю сообщение об ошибке при запуске моего приложения на macos 10.15.4

Ошибка:

dyld: Library not loaded: @rpath/Frameworks/libQt5Solutions_SingleApplication-head.1.dylib
Referenced from: /Users/raulsanchez/Documents/workspace/Myapp.app/Contents/MacOS/Myapp
Reason: no suitable image found.  Did find:
/Users/raulsanchez/Documents/workspace/Myapp.app/Contents/MacOS/../Frameworks/libQt5Solutions_SingleApplication-head.1.dylib: code signing blocked mmap() of '/Users/raulsanchez/Documents/workspace/Myapp.app/Contents/MacOS/../Frameworks/libQt5Solutions_SingleApplication-head.1.dylib'
/Users/raulsanchez/Documents/workspace/Myapp.app/Contents/MacOS/../Frameworks/libQt5Solutions_SingleApplication-head.1.dylib: stat() failed with errno=1
zsh: abort      

Я удалил и переустановил свой сертификат, но все равно та же ошибка.

Любые идеи, пожалуйста?

заранее спасибо


person RuLoViC    schedule 13.04.2020    source источник


Ответы (1)


У меня возникла аналогичная проблема после обновления Xcode (в моем случае до 11.4.1). Ничего не помогло: ни повторное создание сертификатов, ни обновление прав, ни перезагрузка, ни изменение уровня доверия для сертификатов, ни обновление Xcode.

Я решил временно путем понижения версии моего Xcode (Xcode_11.3.1)

Я заметил, что библиотеки, которые не загружаются, не имеют LC_VERSION_MIN_MACOSX/sdk. Он установлен «н/д». Затем я обнаружил эту проблему https://bugreports.qt.io/browse/QTBUG-83100 Помогло!

В нескольких словах:

otool -l myApp.app/Contents/Frameworks/libMyVnaApi_x64.0.dylib  | grep -B1 -A3 LC_VERSION_MIN_MACOSX
Load command 8
      cmd LC_VERSION_MIN_MACOSX
  cmdsize 16
  version 10.13
      sdk n/a

Если sdk отсутствует, то проверка защищенной библиотеки времени выполнения не выполняется.

После того, как я добавил флаг компоновщика и перестроил

QMAKE_LFLAGS += -isysroot /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk

Проблема решена: SDK установлен правильно. Подписанное усиленное приложение работает

   otool -l myApp.app/Contents/Frameworks/libMyVnaApi_x64.0.dylib  | grep -B1 -A3 LC_VERSION_MIN_MACOSX
Load command 8
      cmd LC_VERSION_MIN_MACOSX
  cmdsize 16
  version 10.13
      sdk 10.15.4
person Mnt DXM    schedule 10.05.2020
comment
Мне удалось решить проблему с добавлением прав, но я протестирую ваше решение. Вроде безопаснее! Спасибо - person RuLoViC; 11.05.2020
comment
Не могли бы вы поделиться, какое право помогло вам? - person Mnt DXM; 11.05.2020
comment
com.apple.security.cs.disable-library-validation. Но в любом случае, возможно, ваше решение лучше, поскольку, как я понимаю, права могут привести к проблемам с безопасностью. - person RuLoViC; 11.05.2020