HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 在Keychain服务中使用SecItemUpdate大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下代码在钥匙串中创建钥匙串项目:
NSMutableDictionary* Dict = [NSMutableDictionary Dictionary];
    [Dict setObject: (__bridge id) kSecClassGenericpassword  forKey: (__bridge id) kSecClass];
    [Dict setObject: MYKEY           forKey: (__bridge id) kSecAttrservice];
    [Dict setObject: @"0" forKey: (__bridge id) kSecValueData];
    SecItemAdd ((__bridge CFDictionaryRef) Dict,null);

哪个工作正常.如果我想更改此项,是否有人可以为SecItemupdate提供准确的语法?

更新:具有以下内容

NSMutableDictionary *query = [NSMutableDictionary Dictionary];
NSMutableDictionary *attributesToupdate = [NSMutableDictionary Dictionary];

[query setObject: (__bridge id) kSecClassGenericpassword forKey: (__bridge id) kSecClass];
[query setObject: MYKEY forKey: (__bridge id) kSecAttrservice];
[query setObject: (id) @L_801_3@BooleanTrue forKey: (__bridge id) kSecReturnData];

NSString *numberOfBalloonsString = [NSString StringWithFormat:@"%d",numberOfBalloonsUsed];
NSData *numberOfBalloonsData = [numberOfBalloonsString dataUsingEncoding:NSUTF8StringEncoding];

[attributesToupdate setObject: numberOfBalloonsData forKey:(__bridge id)kSecValueData];

OSStatus error = SecItemupdate ((__bridge CFDictionaryRef) query,(__bridge CFDictionaryRef) attributesToupdatE);
NSLog(@"Error #: %ld",error);

我收到错误代码-50 =

解决方法

SecItemupdate非常详细.

SecItemupdate的查询参数记录为查询(在其他函数中使用)以及模糊语句:“指定要更改其值的项目”.这似乎意味着您必须在此字典中包含您想要更改的现有属性值,但我认为您不会这样做.我发现您可以使用相同的查询获取要更新的项目的属性.

attributes参数应该是SecItemCopymatching的结果,其中包含kSecValueData键和添加的值以及任何属性已更改.

大佬总结

以上是大佬教程为你收集整理的ios – 在Keychain服务中使用SecItemUpdate全部内容,希望文章能够帮你解决ios – 在Keychain服务中使用SecItemUpdate所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。