库未加载...代码签名在 macOS 10.15.4 上被阻止

Library not loaded ... code signing blocked on 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      

我已经删除并重新安装了我的证书,但仍然出现同样的错误。

有什么想法吗?

提前致谢

我在 Xcode 更新后遇到了类似的问题(在我的情况下更新到 11.4.1) 没有任何帮助:既不重新创建证书,也不更新权利,也不重新启动,也不更改证书的信任级别,也不升级 Xcode。

通过降级我的Xcode (Xcode_11.3.1)[=14=暂时解决了 ]

我注意到加载失败的库没有LC_VERSION_MIN_MACOSX/sdk。它被设置为 'n/a'。然后我发现了这个问题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