Ios SecItemAdd返回的OSStatus代码-50

Ios SecItemAdd返回的OSStatus代码-50,ios,keychain,keychainitemwrapper,Ios,Keychain,Keychainitemwrapper,我正在尝试在iOS中写入密钥链,每当我在设备上测试时尝试写入密钥链时,我都会得到SecItemAdd的-50错误代码 我首先尝试自己实现这样一种机制,在多次出现错误后,我尝试了KeychainItemWrapper,认为自己做错了什么。但使用KeychainItemWrapper也会产生相同的错误代码: (KeychainItemWrapper的ARCified版本,) 第305行:NSAssert(result==noErr,@“无法添加密钥链项”) 结果是-50,和我自己尝试时得到的结果一样

我正在尝试在iOS中写入密钥链,每当我在设备上测试时尝试写入密钥链时,我都会得到SecItemAdd的-50错误代码

我首先尝试自己实现这样一种机制,在多次出现错误后,我尝试了KeychainItemWrapper,认为自己做错了什么。但使用KeychainItemWrapper也会产生相同的错误代码: (KeychainItemWrapper的ARCified版本,)

第305行:NSAssert(result==noErr,@“无法添加密钥链项”)

结果是-50,和我自己尝试时得到的结果一样。下面是我如何使用包装器(访问组是我的应用程序id)

我最初认为设置可变数组可能会有问题,但尝试字符串也会以同样的方式失败。问题的原因可能是什么

谢谢,
可以。

您不能为
[keychain setObject:forKey://使用任意键。以下工作将起作用:

[keychain setObject:[[NSMutableArray alloc] init]
          forKey:(__bridge id)kSecValueData]
关于这一点,报告中充满了信息

[keychain setObject:[[NSMutableArray alloc] init]
          forKey:(__bridge id)kSecValueData]