gpt4 book ai didi

ios - SecItemAdd 返回 OSStatus 代码 -50

转载 作者:可可西里 更新时间:2023-11-01 03:33:08 27 4
gpt4 key购买 nike

我正在尝试写入 iOS 中的钥匙串(keychain),每当我在我的设备上测试时尝试写入钥匙串(keychain),我都会收到 -50 错误代码作为 SecItemAdd 的结果。

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

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

结果是 -50,这与我自己尝试时得到的结果相同。这是我使用包装器的方式(访问组是我的应用程序 ID)

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

我一开始以为设置一个可变数组可能会有问题,但尝试一个字符串也同样失败了。问题的原因可能是什么?

谢谢,可以。

最佳答案

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

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

Apple documentation有很多关于此的信息。

关于ios - SecItemAdd 返回 OSStatus 代码 -50,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17389071/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com