从嵌入式命令行工具

时间:2018-05-07 00:38:22

标签: swift xcode keychain

我的沙盒macOS应用程序使用KeychainAccess将服务器凭据存储在钥匙串中,这非常有效。

我还编写了一个命令行工具,它嵌入到应用程序包中。我希望这个工具能够访问主应用程序存储在钥匙串中的密码。

但是,对于我的生活,我无法让两人分享对相同钥匙串物品的访问权限。命令行工具总是会弹出" auth对话框":

enter image description here

我怀疑我的代码是正确的。在主应用程序和工具中,以下操作使我能够访问钥匙串中的密码数据:

let keychain = Keychain(service: "serviceName", accessGroup: "24F6D23HXS.com.obfuscated.app-name")

我猜我的问题在于Xcode中两个项目的配置。对于macOS应用,我有" app target>能力>钥匙扣分享"打开,它在那里生成的钥匙串组是上面代码中使用的(24F6D23HXS.com.obfuscated.app-name)。启用此选项还会生成配置文件,这似乎很好。

但是,命令行工具的目标设置没有功能部分,因此我无法启用" Keychain Sharing"。此外,没有明显的方法可以选择macOS应用程序正在使用的配置文件(不确定我是否需要这样做)。

任何人都可以给我任何关于如何使其工作的指示吗?

0 个答案:

没有答案