相对框架路径,强化运行时和公证

时间:2019-10-17 10:24:04

标签: macos frameworks notarize

在成功地对我的应用程序进行了十二次公证并且运行正常之后,它现在可以顺利通过公证,然后在启动时崩溃:

Dyld Error Message:
  Library not loaded: @loader_path/../Frameworks/ShortcutRecorder.framework/Versions/A/ShortcutRecorder
  Referenced from: /Applications/Vitamin-R 3.app/Contents/MacOS/Vitamin-R 3
  Reason: no suitable image found.  Did find:
    /Applications/Vitamin-R 3.app/Contents/MacOS/../Frameworks/ShortcutRecorder.framework/Versions/A/ShortcutRecorder: code signing blocked mmap() of '/Applications/Vitamin-R 3.app/Contents/MacOS/../Frameworks/ShortcutRecorder.framework/Versions/A/ShortcutRecorder'
    /Applications/Vitamin-R 3.app/Contents/MacOS/../Frameworks/ShortcutRecorder.framework/Versions/A/ShortcutRecorder: code signing blocked mmap() of '/Applications/Vitamin-R 3.app/Contents/MacOS/../Frameworks/ShortcutRecorder.framework/Versions/A/ShortcutRecorder'
    /Applications/Vitamin-R 3.app/Contents/MacOS/../Frameworks/ShortcutRecorder.framework/Versions/A/ShortcutRecorder: stat() failed with errno=1
    file system relative paths not allowed in hardened programs

我不确定是否确定框架的运行时路径。.我将框架保存在开发机器上的~/Libary/Frameworks/中,但随后将其复制到应用程序包中,但我没有非常确定是什么决定了运行时的路径。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

这可能是一个代码签名证书问题...可以通过以下方式解决它:

打开钥匙串访问:我的证书>“右键单击”证书>获取信息>信任>使用此证书时>使用系统默认值

答案 1 :(得分:0)

我遇到了完全相同的问题。解决方案是将框架也添加到“复制文件”构建步骤中。您可以在此处定义“框架”的目的地。