避免输入 altool 的钥匙串密码

Posted

技术标签:

【中文标题】避免输入 altool 的钥匙串密码【英文标题】:Avoid having to enter keychain password for altool 【发布时间】:2019-06-17 23:00:35 【问题描述】:

我需要自动化公证 MacOS 应用程序的过程。为了实现这一点,我创建了通用密码:

security add-generic-password -a <apple_id> -w <app specific passwd> -s "ALIAS" build.keychain-db

现在为了避免输入我添加的密码:

security set-generic-password-partition-list -S apple-tool:,apple: -s "ALIAS" -k <keychain_passwd> <keychain>

最后我运行了 altool 命令,但仍然弹出询问我钥匙串密码的窗口。

有谁知道如何避免这个弹出窗口?一切都必须在命令行上完成,所以如果你能提供要运行的命令,那就太好了

【问题讨论】:

【参考方案1】:

要防止出现安全确认对话框,请单击一次Always allow 或修改相应的钥匙串条目。像这样工作:

通过打开 shell 并输入 xcrun -find altool 来定位到 altool 的路径。 使用security add-generic-password 命令创建密码时,要么使用此路径作为参数-T &lt;path&gt;security add-generic-password -a &lt;apple_id&gt; -w &lt;app specific passwd&gt; -s "ALIAS" -T &lt;path_to_altool&gt; build.keychain-db 或使用钥匙串访问应用程序: 打开Keychain Access.app。 选择密码条目,选择菜单File &gt; Get Info(或按Cmd+I或点击图标)。 在此对话框中,选择Access Control 选项卡并按下+ 按钮。将打开一个文件选择对话框。 打开 Finder 并选择菜单 Go &gt; Go to Folder… 并将路径粘贴到 altool(目录部分,没有 altool 本身,例如 /Applications/Xcode.app/Contents/Developer/usr/bin/)。 将altool拖到Keychain Access的打开面板,然后按下Add按钮。

【讨论】:

我会测试并告诉你 不幸的是它对我不起作用。我按照您之前向我展示的那样运行 security add-generic-password,但是当我使用“@keychain:ALIAS”运行 altool 时,我得到“***错误:在钥匙串中找不到指定的项目。” 啊,好像不支持使用自定义钥匙串,only the login keychain is supported by altool: 注意,出于安全原因,altool 无法访问您的 iCloud 钥匙串,所以该项目必须在您的登录中钥匙串。 无论如何,我不明白你为什么在这种情况下尝试使用钥匙串:你已经有了纯文本密码,不是吗?然后将其传递给altool-p 选项而不是@keychain:&lt;itemname&gt;

以上是关于避免输入 altool 的钥匙串密码的主要内容,如果未能解决你的问题,请参考以下文章

想使用登录钥匙串卡死

MacBook钥匙串怎么关闭

Mac钥匙串有啥用?钥匙串访问是啥

VM 上 macOS Flutter 应用的钥匙串密码

如何使用钥匙串验证用户名和密码

詹金斯删除钥匙串中的钥匙