xcnotary !使用xcrun notarytool --wait如Apple文档中所述的等待:自定义公证工作流程
这里给出了一个简洁的示例:#22(评论)

公证MacOS应用程序涉及一系列手动步骤,包括将捆绑包,将其上传到Apple以及对公证服务进行轮询。
xcnotary为您自动化这些步骤。它:
stderr 。
# Install
brew install akeru-inc/tap/xcnotary
# Upgrade
brew update
brew upgrade akeru-inc/tap/xcnotary在未提交的情况下对输入执行各种代码签名检查:
xcnotary precheck < input path >要执行代码签名检查,请提交公证服务,并阻止等待响应:
xcnotary notarize < input path >
--developer-account < Apple Developer account >
--developer-password-keychain-item < name of keychain item, see below >
[--provider < provider short name > ]
[--no-precheck]支持的输入:
此工具无法处理您的Apple开发人员密码。取而代之的是,Xcode的Helper altool直接从钥匙链读取了特定于应用的Apple开发人员ID密码。请参阅xcrun altool --store-password-in-keychain-item设置合适的钥匙扣项目。
如果开发人员帐户与多个团队相关联,则应指定可选的--provider参数。可以通过运行以下命令并注意显示的“ ProviderShortName”来获得此值。
xcrun altool --list-providers -u " $DEVELOPER_ACCOUNT_USERNAME " -p " @keychain: $PASSWORD_KEYCHAIN_ITEM "Xcode的altool将连接到文档中概述的几个Apple主机。
当公证失败时, xcnotary将连接到https://osxapps-ssl.itunes.apple.com/ on port 443上以检索故障日志。
Apple文档建议:“即使公证成功成功,请务必检查日志文件,因为它可能包含您可以在下次提交之前修复的警告。”
xcnotary将在完成后获取并显示公证服务响应。
xcnotary尝试在将其上传到Apple之前检查输入是否有一些常见的公证问题。尽管没有万无一失,但这些检查可能会节省您的几分钟,等待响应仅由于不正确的代码签名标志而失败。

当输入是应用程序包时,将执行以下检查:
当输入为.dmg或.pkg时,仅执行开发人员ID签名检查,即目前唯一可以执行的检查而无需提取内容。在您的工作流程中,您可能需要在包装之前在捆绑目标上运行xcnotary precheck 。
在极少数情况下,使用公证服务响应直接解决代码签名问题可能会有所帮助。为此,请指定--no-precheck调用xcnotary notarize时,请勿进行。
以下示例设置了各种必要的构建标志,例如使用“安全时间戳”的代码签名。
xcodebuild
-target < target >
-scheme < scheme >
-configuration Release
-derivedDataPath .xcodebuild
" CODE_SIGN_IDENTITY=Developer ID Application: <team name> "
" OTHER_CODE_SIGN_FLAGS=--timestamp --options=runtime "
CODE_SIGN_INJECT_BASE_ENTITLEMENTS=NO
CODE_SIGN_STYLE=Manual CODE_SIGN_IDENTITY应匹配相应的钥匙扣证书。
请注意, --options=runtime将具有选择二进制的运行时环境中的效果。您最有可能首先要在Xcode的目标设置>“签名和功能”中手动启用“硬化运行时”功能,并确保您的应用程序按预期运行。在那里,您也可以添加任何权利以放松运行时限制。
pkgbuild
--component < path to bundle built according to above specs >
--sign " Developer ID Installer: <team name> "
--timestamp
< output_pkg_name.pkg >创建DMG之后的代码:
codesign -s " Developer ID Application: <team> " < dmg >更改日志
功能请求/评论/问题?写:[email protected]