iPhone钥匙扣
问题描述:
我无法使KeychainItemWrapper(Apple示例)正常工作。我已经将KeychainItemWrapper文件添加到了我的项目中,并且在手机上运行时,SecItemAdd引发了一个异常,表示一个或多个参数无效(结果代码-50)。触发SecItemAdd的代码如下:iPhone钥匙扣
KeychainItemWrapper* wrapper = [[KeychainItemWrapper alloc] initWithIdentifier:@"something" accessGroup:nil];
[wrapper setObject:@"this is my password" forKey:@"password"];
NSLog(@"Password: %@", [wrapper objectForKey:@"password"]);
出了什么问题?
的代码可以在http://developer.apple.com/iphone/library/samplecode/GenericKeychain/index.html
答
我遇到了同样的问题被发现。你不能在字典中放入任意键,你需要使用SecItemAdd可以理解的定义好的键。
试试这个:
KeychainItemWrapper *wrapper = [[KeychainItemWrapper alloc] initWithIdentifier:@"password" accessGroup:nil];
[wrapper setObject:@"this is my password" forKey:(id)kSecValueData];
NSLog(@"password: [%@]", [wrapper objectForKey:(id)kSecValueData]);
[wrapper release];
13日的问题 - 你会* *现在接受任何? – Trick 2010-03-08 13:21:22
你也应该把它分解成几个问题。 SO系统无法在单个线程中追踪多个问题的多个答案。你希望人们回答4个独立的理论问题以及调试你的代码。这至少有5个单独的答案,(1)大多数人没有时间或知识来回答所有5,(2)没有人会得到回答,只回答5个答案。不是说你看起来接受答案。 – TechZen 2010-03-08 15:22:25