我想知道我是否可以禁用每当我的应用程序想要访问钥匙串数据时弹出的钥匙串对话框。我的应用程序将 TextField 的字符串与钥匙串条目进行比较,以检查输入的密码是否正确。
它工作正常,但它要求访问它的权限。
如何避免这种行为?
最好的问候,阿德里安
我想知道我是否可以禁用每当我的应用程序想要访问钥匙串数据时弹出的钥匙串对话框。我的应用程序将 TextField 的字符串与钥匙串条目进行比较,以检查输入的密码是否正确。
它工作正常,但它要求访问它的权限。
如何避免这种行为?
最好的问候,阿德里安
另一个建议是对您的可执行文件进行代码签名,即使在 OS X 上也是如此。
如果您不这样做,那么系统总是询问用户是否允许程序在更新程序时访问钥匙串,即使您的用户之前选择了“始终允许”。这是因为系统无法判断所谓的更新程序是否是真正的更新版本。
正如此 Apple 文档中所写,如果您进行代码签名,系统不会在程序更新时询问用户是否允许程序访问钥匙串,因为系统可以告诉您应用程序的新版本是真正的应用程序的新版本,由同一程序员发布。
因此,要尽量减少钥匙串对话的数量,请对您的应用程序进行代码签名。是的,它在 OS X 上是可选的,与 iOS 不同,但它有一些优点。
这是预期的行为,因此用户可以控制哪些应用程序可以访问他们的钥匙串。如果您想避免出现提示,请单击对话框上的“始终允许”。