我正在尝试从命令行对一个从 javascript 文件生成的小型可执行文件进行代码签名 + 公证,但没有成功。该文件是一个非常简单的 CLI 工具,旨在通过 mac 终端使用。
下载文件并尝试运行它会导致错误:
“testBinaryFile 无法打开,因为无法确认开发者的身份。”
(并且应该从终端运行它会导致进程处于“终止”状态)。
这些是我所做的步骤: 0. 将代码捆绑到可执行文件中(名为testBinaryFile
)
- 使用以下代码对可执行文件进行代码设计:
codesign -s CERTIFICATE_UUID --timestamp -o runtime -v testBinaryFile --force
- 压缩可执行文件(以便上传公证):
ditto -c -k testBinaryFile testBinaryFile.zip
- 发送 zip 进行公证:
xcrun altool --notarize-app \
--primary-bundle-id io.test.bundled \
--username <OUR_APPLE_ID> \
--password <OUR_APPLE_APP_SPECIFIC_PASS> \
--file testBinaryFile.zip
- 轮询服务,直到我们收到一条成功的公证消息:
xcrun altool --notarization-info REQUEST_ID -u <OUR_APPLE_ID> -p <OUR_APPLE_APP_SPECIFIC_PASS>
将 zip 文件上传到我们在 Github 中的主机(也在 Google 的主机服务上尝试过)
下载 zip 文件,解压缩并尝试运行它 -> 会导致上面附加的错误。
其他说明:*我有一个“Apple Developer ID 证书”,允许在 AppStore 之外分发捆绑的可执行文件。
*我在包含“.app”应用程序(及其/resources中的捆绑包)的经过公证的.dmg安装程序中使用相同的捆绑可执行文件,并且我设法在没有任何问题的情况下使用它
关于如何使它也适用于捆绑包的任何线索?