iOS7:如何在钥匙串中存储密钥/布尔值
我执行应用内购买,所有产品都是非消耗性的。 我的意图是将bool值存储在每个产品标识符的钥匙串中,然后根据存储的bool值控制Core Data检索。
我的问题是:如何将key / bool值存储到keychain中?
PS:我使用KeyChainItemWrapper。
将其存储为NSNumber
格式,因为它包含一个特殊的方法+ numberWithBool:
将BOOL值转换为一个对象:
[keychainItemWrapper setObject:[NSNumber numberWithBool:YES] forKey:(__bridge id)(kSecAttrIsInvisible)];
并取回:
NSNumber *value = [keychainItemWrapper objectForKey:(__bridge id)(kSecAttrIsInvisible)]; BOOL boolValue = [value boolValue];
使用keychain key kSecAttrIsInvisible
和kSecAttrIsNegative
任一个作为这些支持来存储bool值。
我不明白一些事情。 为什么你需要将bool值存储在钥匙串中? 另外,核心数据将如何与钥匙链进行沟通或依靠它? 这个问题有点含糊。
查看今年的WWDC会议的Touch ID和Keychain(或去年的Keychain会议),了解您用来设置钥匙串并与之通信的属性。 另外看看今年苹果的示例项目。
文档有很多关于可以使用的密钥的信息,以及如何与钥匙链进行通信。