0

我实施了应用内购买,所有产品都是非消耗品。我的意图是为每个产品标识符存储 bool 值在 keychain 中,然后根据存储的 bool 值控制 Core Data 检索。

我的问题是:如何将键/布尔值存储到钥匙串中?

PS:我使用 KeyChainItemWrapper。

4

2 回答 2

0

我不明白一些事情。为什么需要将布尔值存储在钥匙串中?此外,Core Data 将如何与钥匙串通信或依赖它?问题有点模糊。

查看今年关于 Touch ID 和 Keychain 的 WWDC 会议(或去年的 Keychain 会议),了解用于设置钥匙串并与之通信的属性。还请查看 Apple 今年的示例项目。

文档中有很多关于您可以使用的可能密钥以及如何与钥匙串通信的信息。

于 2014-07-03T17:55:58.977 回答
0

以 的形式存储它,NSNumber因为它包含+ numberWithBool:将 BOOL 值转换为对象的特殊方法:

[keychainItemWrapper setObject:[NSNumber numberWithBool:YES] forKey:(__bridge id)(kSecAttrIsInvisible)];

并获取:

NSNumber *value = [keychainItemWrapper objectForKey:(__bridge id)(kSecAttrIsInvisible)];
BOOL boolValue = [value boolValue];

使用任一钥匙串键kSecAttrIsInvisiblekSecAttrIsNegative因为这些支持存储布尔值。

于 2016-01-19T04:57:16.010 回答