Mik*_*kup 2 delphi notarize delphi-10.3-rio
我的 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 "appleid@mysite.com" -p "lgsp-xxxx-yyyy-xxxx"
> command_line: "/usr/bin/xcrun" altool --notarization-info 8a88a10f-3868-4958-8bca-10eea92a305b -u "appleid@mysite.com" -p "lgsp-xxxx-yyyy-xxxx"
> command_line: "/usr/bin/xcrun" altool --notarization-info 8a88a10f-3868-4958-8bca-10eea92a305b -u "appleid@mysite.com" -p "lgsp-xxxx-yyyy-xxxx"
> command_line: "/usr/bin/xcrun" altool --notarization-info 8a88a10f-3868-4958-8bca-10eea92a305b -u "appleid@mysite.com" -p "lgsp-xxxx-yyyy-xxxx"
> command_line: "/usr/bin/xcrun" altool --notarization-info 8a88a10f-3868-4958-8bca-10eea92a305b -u "appleid@mysite.com" -p "lgsp-xxxx-yyyy-xxxx"
> command_line: "/usr/bin/xcrun" altool --notarization-info 8a88a10f-3868-4958-8bca-10eea92a305b -u "appleid@mysite.com" -p "lgsp-xxxx-yyyy-xxxx"
> command_line: "/usr/bin/xcrun" altool --notarization-info 8a88a10f-3868-4958-8bca-10eea92a305b -u "appleid@mysite.com" -p "lgsp-xxxx-yyyy-xxxx"
> command_line: "/usr/bin/xcrun" altool --notarization-info 8a88a10f-3868-4958-8bca-10eea92a305b -u "appleid@mysite.com" -p "lgsp-xxxx-yyyy-xxxx"
> command_line: "/usr/bin/xcrun" altool --notarization-info 8a88a10f-3868-4958-8bca-10eea92a305b -u "appleid@mysite.com" -p "lgsp-xxxx-yyyy-xxxx"
> command_line: "/usr/bin/xcrun" altool --notarization-info 8a88a10f-3868-4958-8bca-10eea92a305b -u "appleid@mysite.com" -p "lgsp-xxxx-yyyy-xxxx"
> command_line: "/usr/bin/xcrun" altool --notarization-info 8a88a10f-3868-4958-8bca-10eea92a305b -u "appleid@mysite.com" -p "lgsp-xxxx-yyyy-xxxx"
> command_line: "/usr/bin/xcrun" altool --notarization-info 8a88a10f-3868-4958-8bca-10eea92a305b -u "appleid@mysite.com" -p "lgsp-xxxx-yyyy-xxxx"
> command_line: "/usr/bin/xcrun" altool --notarization-info 8a88a10f-3868-4958-8bca-10eea92a305b -u "appleid@mysite.com" -p "lgsp-xxxx-yyyy-xxxx"
> command_line: "/usr/bin/xcrun" altool --notarization-info 8a88a10f-3868-4958-8bca-10eea92a305b -u "appleid@mysite.com" -p "lgsp-xxxx-yyyy-xxxx"
> command_line: "/usr/bin/xcrun" altool --notarization-info 8a88a10f-3868-4958-8bca-10eea92a305b -u "appleid@mysite.com" -p "lgsp-xxxx-yyyy-xxxx"
> command_line: "/usr/bin/xcrun" altool --notarization-info 8a88a10f-3868-4958-8bca-10eea92a305b -u "appleid@mysite.com" -p "lgsp-xxxx-yyyy-xxxx"
Run Code Online (Sandbox Code Playgroud)
从那时起我就猜到了这个问题。显然,应用程序包中有一个未签名的可执行文件。在这种情况下,代码签名可能会失败,而 Delphi 会忽略这一点。删除有问题的可执行文件可以让应用程序得到公证。
我仍然找不到查看公证过程日志的方法。
小智 5
您必须通过在详细模式下运行命令行 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 eee@eee.co.za -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“eee@eee.co.za”-p“eeet-eeen-eeh-xdha”
错误信息以JSON格式返回。查找需要复制并粘贴到浏览器中的 URL。粘贴 URL 后,将显示另一条 JSON 格式的消息。在那里您会发现导致应用程序未被通知的问题:
"message": "可执行文件未启用强化运行时。"。
要解决此问题,您必须在 Delphi IDE 中启用以下设置:
项目选项 -> 应用程序 -> 权利列表
公证过程现在应该可以进行。