禁用钥匙串权限对话框?

时间:2011-02-07 00:37:43

标签: objective-c cocoa macos keychain

我想知道是否可以禁用每当我的应用程序想要访问keychaindata时弹出的keychain对话框。我的应用程序将TextField的字符串与钥匙串条目进行比较,以检查输入的密码是否正确。

它工作正常,但它要求访问它的权限。

如何避免这种行为?

祝你好运, 阿德里安

2 个答案:

答案 0 :(得分:9)

另一个建议是对可执行文件进行代码签名,即使在OS X上也是如此。

如果不这样做,那么系统总是询问用户他/她是否允许程序在程序更新时访问钥匙串,即使您的用户之前选择了“始终允许”。这是因为系统无法判断所谓的更新程序是否是真正更新的版本。

如同编写in this Apple document,如果您进行代码签名,系统不会询问用户他/她是否允许程序在程序更新时访问钥匙串,因为系统可以告诉您的新版本该应用程序的确是应用程序的新版本,由同一程序员发布。

因此,为了最大限度地减少钥匙串对话的数量,请对您的应用进行代码签名。是的,它在OS X上是可选的,与iOS不同,但它有一些优点。

答案 1 :(得分:8)

这是预期的行为,因此用户可以控制哪些应用可以访问其钥匙串。如果要避免提示,请单击对话框中的“始终允许”。