首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >返回OSStatus代码的SecItemAdd -50

返回OSStatus代码的SecItemAdd -50
EN

Stack Overflow用户
提问于 2013-06-30 17:44:49
回答 1查看 2.7K关注 0票数 8

我正在尝试在iOS中写入密钥链,当我在我的设备上测试时,每当我尝试写入密钥链时,由于SecItemAdd的结果,我得到了-50错误代码。

我首先尝试自己实现这样一种机制,在多次遇到错误后,我尝试了KeychainItemWrapper,认为我做错了什么。但是使用KeychainItemWrapper也会给出相同的错误代码:( KeychainItemWrapper的ARCified版本,https://gist.github.com/dhoerl/1170641)

line 305: NSAssert( result == noErr, @"Couldn't add the Keychain Item." );

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

代码语言:javascript
复制
keychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"data" accessGroup:@"my.app.identifier"];
purchasedPacks = [keychain objectForKey:@"packs"];
if(purchasedPacks == nil){
    [keychain setObject:[[NSMutableArray alloc] init] forKey:@"packs"];
}

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

谢谢你,肯。

EN

回答 1

Stack Overflow用户

发布于 2013-10-21 17:19:28

您不能对[keychain setObject: forKey:]使用任意键。下面的方法将会起作用:

代码语言:javascript
复制
[keychain setObject:[[NSMutableArray alloc] init]
          forKey:(__bridge id)kSecValueData]

Apple documentation中充满了关于这方面的信息。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17389071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档