使用SFHFKeychainUtils的某些代码的调试版本在我正在开发的Mac上运行而没有任何抱怨,正在另一个Mac上触发错误:

该代码利用了SFHFKeychainUtils提供的以下方法:

+[SFHFKeychainUtils getPasswordForUsername:andServiceName:accessGroup:error:]

+[SFHFKeychainUtils storeUsername:andPassword:forServiceName:accessGroup:updateExisting:updateExisting:error:]


使用+[SFHFKeychainUtils storeUsername:andPassword:forServiceName:accessGroup:updateExisting:updateExisting:error:]为用户名添加密码。一段时间后,尝试使用+[SFHFKeychainUtils getPasswordForUsername:andServiceName:accessGroup:error:]检索密码。但是,此方法返回错误。其域是SFHFKeychainUtilsErrorDomain,其代码是-25293(因此它是errSecAuthFailed)。仅当密码实际上存储在钥匙串中(或至少从“钥匙串访问”中可见)时才返回此错误。

为什么会这样?

最佳答案

问题是缺少代码签名。为了使第二台机器访问钥匙串,需要代码签名。解决方法是为调试版本启用代码签名。

关于objective-c - 为什么SFHFKeychainUtils在 cocoa 应用程序中失败并显示错误errSecAuthFailed?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11107315/

10-10 19:12