delphi - 如何查看 Delphi 应用程序的 Apple Notarize 日志

标签 delphi delphi-10.3-rio notarize

我的 Delphi 10.3.2 应用程序未通过 Apple 公证。

我已经能够使用另一个不同的应用程序来成功进行公证。

如何查看包含失败公证结果的日志文件?

(Xcode 的说明没有帮助,因为 Xcode 似乎认为日志与 Xcode 产品文件相关联,而这是一个 Delphi 项目。)

在 PAServer 中打开详细设置会显示使用 altool 请求 --notarization-info 的最后一个命令。这是该类型中唯一的命令。此命令后不久,Apple 就发送了一封电子邮件,通知我公证失败。

当我的另一个项目成功公证时,--notarization-info命令在PAServer中出现了几十次才成功。

我回去尝试去公证这个项目,一直成功。我收到 Apple 发来的电子邮件,说它已经过公证,但 Delphi(不是 PAServer)显示了此错误:

[PAClient 错误] 错误:E5896 2019-07-24 11:16:23.235 altool[2270:146899] *** 错误:Apple 服务操作失败。找不到RequestUUID。

PAServer 的输出:

> command_line: "/usr/bin/plutil" -convert binary1 "/Users/michaelleahy/PAServer/scratch-dir/Mikes SSD Dell-Mikes Dell SSD/ChessOpeningsWizardExpressBuild107.app/Contents/Info.plist"
> command_line: "/usr/bin/codesign" -o runtime --timestamp --entitlements "/Users/michaelleahy/PAServer/scratch-dir/Mikes SSD Dell-Mikes Dell SSD/ChessOpeningsWizardExpressBuild107.entitlements" --deep -s "Developer ID Application: Bookup" -f "/Users/michaelleahy/PAServer/scratch-dir/Mikes SSD Dell-Mikes Dell SSD/ChessOpeningsWizardExpressBuild107.app"
> command_line: "/usr/bin/ditto" -c -k --keepParent "/Users/michaelleahy/PAServer/scratch-dir/Mikes SSD Dell-Mikes Dell SSD/ChessOpeningsWizardExpressBuild107.app" "/Users/michaelleahy/PAServer/scratch-dir/Mikes SSD Dell-Mikes Dell SSD/ChessOpeningsWizardExpressBuild107.app.zip"
> command_line: "/usr/bin/xcrun" altool -t osx --notarize-app --primary-bundle-id com.bookup.chessopeningswizardexpress -u appleid@mysite.com -p lgsp-xxxx-yyyy-xxxx -f "/Users/michaelleahy/PAServer/scratch-dir/Mikes SSD Dell-Mikes Dell SSD/ChessOpeningsWizardExpressBuild107.app.zip"
> command_line: "/usr/bin/xcrun" altool --notarization-info 8a88a10f-3868-4958-8bca-10eea92a305b -u "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="d5b4a5a5b9b0bcb195b8aca6bca1b0fbb6bab8" rel="noreferrer noopener nofollow">[email protected]</a>" -p "lgsp-xxxx-yyyy-xxxx"
> command_line: "/usr/bin/xcrun" altool --notarization-info 8a88a10f-3868-4958-8bca-10eea92a305b -u "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="3d5c4d4d515854597d50444e544958135e5250" rel="noreferrer noopener nofollow">[email protected]</a>" -p "lgsp-xxxx-yyyy-xxxx"
> command_line: "/usr/bin/xcrun" altool --notarization-info 8a88a10f-3868-4958-8bca-10eea92a305b -u "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="513021213d343835113c28223825347f323e3c" rel="noreferrer noopener nofollow">[email protected]</a>" -p "lgsp-xxxx-yyyy-xxxx"
> command_line: "/usr/bin/xcrun" altool --notarization-info 8a88a10f-3868-4958-8bca-10eea92a305b -u "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="89e8f9f9e5ece0edc9e4f0fae0fdeca7eae6e4" rel="noreferrer noopener nofollow">[email protected]</a>" -p "lgsp-xxxx-yyyy-xxxx"
> command_line: "/usr/bin/xcrun" altool --notarization-info 8a88a10f-3868-4958-8bca-10eea92a305b -u "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="94f5e4e4f8f1fdf0d4f9ede7fde0f1baf7fbf9" rel="noreferrer noopener nofollow">[email protected]</a>" -p "lgsp-xxxx-yyyy-xxxx"
> command_line: "/usr/bin/xcrun" altool --notarization-info 8a88a10f-3868-4958-8bca-10eea92a305b -u "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="68091818040d010c2805111b011c0d460b0705" rel="noreferrer noopener nofollow">[email protected]</a>" -p "lgsp-xxxx-yyyy-xxxx"
> command_line: "/usr/bin/xcrun" altool --notarization-info 8a88a10f-3868-4958-8bca-10eea92a305b -u "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="a4c5d4d4c8c1cdc0e4c9ddd7cdd0c18ac7cbc9" rel="noreferrer noopener nofollow">[email protected]</a>" -p "lgsp-xxxx-yyyy-xxxx"
> command_line: "/usr/bin/xcrun" altool --notarization-info 8a88a10f-3868-4958-8bca-10eea92a305b -u "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="a1c0d1d1cdc4c8c5e1ccd8d2c8d5c48fc2cecc" rel="noreferrer noopener nofollow">[email protected]</a>" -p "lgsp-xxxx-yyyy-xxxx"
> command_line: "/usr/bin/xcrun" altool --notarization-info 8a88a10f-3868-4958-8bca-10eea92a305b -u "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="79180909151c101d3914000a100d1c571a1614" rel="noreferrer noopener nofollow">[email protected]</a>" -p "lgsp-xxxx-yyyy-xxxx"
> command_line: "/usr/bin/xcrun" altool --notarization-info 8a88a10f-3868-4958-8bca-10eea92a305b -u "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="badbcacad6dfd3defad7c3c9d3cedf94d9d5d7" rel="noreferrer noopener nofollow">[email protected]</a>" -p "lgsp-xxxx-yyyy-xxxx"
> command_line: "/usr/bin/xcrun" altool --notarization-info 8a88a10f-3868-4958-8bca-10eea92a305b -u "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="4e2f3e3e222b272a0e23373d273a2b602d2123" rel="noreferrer noopener nofollow">[email protected]</a>" -p "lgsp-xxxx-yyyy-xxxx"
> command_line: "/usr/bin/xcrun" altool --notarization-info 8a88a10f-3868-4958-8bca-10eea92a305b -u "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="49283939252c202d0924303a203d2c672a2624" rel="noreferrer noopener nofollow">[email protected]</a>" -p "lgsp-xxxx-yyyy-xxxx"
> command_line: "/usr/bin/xcrun" altool --notarization-info 8a88a10f-3868-4958-8bca-10eea92a305b -u "ap<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="31415d545855715c48425845541f525e5c" rel="noreferrer noopener nofollow">[email protected]</a>" -p "lgsp-xxxx-yyyy-xxxx"
> command_line: "/usr/bin/xcrun" altool --notarization-info 8a88a10f-3868-4958-8bca-10eea92a305b -u "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="b1d0c1c1ddd4d8d5f1dcc8c2d8c5d49fd2dedc" rel="noreferrer noopener nofollow">[email protected]</a>" -p "lgsp-xxxx-yyyy-xxxx"
> command_line: "/usr/bin/xcrun" altool --notarization-info 8a88a10f-3868-4958-8bca-10eea92a305b -u "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="dcbdacacb0b9b5b89cb1a5afb5a8b9f2bfb3b1" rel="noreferrer noopener nofollow">[email protected]</a>" -p "lgsp-xxxx-yyyy-xxxx"
> command_line: "/usr/bin/xcrun" altool --notarization-info 8a88a10f-3868-4958-8bca-10eea92a305b -u "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="7514050519101c1135180c061c01105b161a18" rel="noreferrer noopener nofollow">[email protected]</a>" -p "lgsp-xxxx-yyyy-xxxx"

我已经猜到了这个问题。显然,应用程序包中有一个未签名的可执行文件。在这种情况下,代码签名可能会失败,而 Delphi 会忽略这一点。删除有问题的可执行文件可以让应用程序得到公证。

我仍然找不到查看公证过程日志的方法。

最佳答案

您必须通过在详细模式下运行命令行 ALTOOL 来查看日志。这是我所做的:

"/usr/bin/ditto" -c -k --keepParent "/Users/eee/PAServer/scratch-dir/admin-MACMini/eee.Pkg.bak" "/Users/eee/PAServer/scratch-dir/admin-MACMini/eee.Pkg.zip"

"/usr/bin/xcrun" altool -t osx --notarize-app --primary-bundle-id za.co.eee -u [email protected] -p veet-teee-geee-xeee -f "/Users/eee/PAServer/scratch-dir/admin-MACMini/eee.Pkg.zip"

注意命令行中添加的--verbose:

"/usr/bin/xcrun" altool --verbose --notarization-info 2ceeeb2c-eeee-eeee-bce8-16fae417eee2 -u "[email protected]" -p "eeet-eeen-eeh-xdha"

错误信息以JSON格式返回。查找需要复制并粘贴到浏览器中的 URL。粘贴 URL 后,将显示另一条 JSON 格式的消息。在那里您会发现导致应用程序未被通知的问题:

"message": "The executable does not have the hardened runtime enabled.".

要解决此问题,您必须在 Delphi IDE 中启用以下设置:

项目选项 -> 应用程序 -> 权利列表

  1. 允许执行 JIT 编译的代码 = True
  2. 允许未签名的可执行内存= True
  3. 禁用可执行内存保护 = True

公证过程现在应该可以进行。

关于delphi - 如何查看 Delphi 应用程序的 Apple Notarize 日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57172342/

相关文章:

delphi - 印地 idftp 客户端 "Invalid argument to time encode"

android - 在 Delphi 10.3 Rio 中写入外部 SD 卡

macos - OSX Notarize 可执行文件(不是应用程序)

android - Delphi Rio 无法读取设置了 READ_EXTERNAL_STORAGE 权限的外部存储

ios - 使用 Corona SDK 构建的公证 Mac OS 应用程序不再有效。验证失败

json - 如何正确地将非字符串值添加到 TJSONObject?

delphi - 字符串连接 VS 字符串格式

delphi - 应用程序主题根据 Windows 主题而变化

class - 使用并行的Delphi XE类: how to?