0

我已经在 MacBook Pro(2019)上编译了一个使用 Qt(5.15.2,C++)框架编写的应用程序,并且我的老板提供了一个证书来验证该应用程序。这是我正在运行以验证应用程序:

macdeployqt appName.app -codesign="Developer ID Application: company" -dmg -always-overwrite   

此函数调用未验证应用程序,并且抛出错误,从我的在线研究来看,该错误似乎没有得到很好的记录。

首先,我收到非致命错误:

/Library/Developer/CommandLineTools/usr/bin/install_name_tool:致命错误:字符串表不在文件末尾(无法处理)在文件:...

其中 ... 是 appName.app 包中包含的 .dylib 的路径。应用程序包中的所有 .dylib 文件都会重复出现此错误。我已经检查并且文件存在于目录中。为什么会这样?我可以查看这些文件,因为它们是二进制文件,所以我不知道它们在里面做什么。

Macdeployqt 然后继续并报告:

错误:“错误:在钥匙串中找不到指定的项目。\n”

我在想我可能为证书指定了错误的名称(我根本不是应用程序开发人员,如果他们认为我知道我在做什么,公司就是在开玩笑!)?

我有两个问题。

  1. 为什么我在 dylib 文件中出现字符串表错误?

  2. 为什么我会收到代码设计错误?如果我的 codesign 开发人员 ID 名称错误,我在看钥匙链中证书信息的哪一部分?

4

0 回答 0