使用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/