Sta*_*als 1 storage objective-c keychain ios
是否可以在iOS上存储一些在删除应用程序时不会删除的信息(如Keychain),也无法恢复到其他设备?
据我了解 - 如果您选择加密备份选项,Key Chain将恢复到另一台设备. 将应用程序还原到新设备时,iOS钥匙串存储是否仍然存在?
因此,以某种方式可以保留一些数据 - 删除应用程序后(重新安装后读取它),并且只有在添加/创建它的设备上才可以使用它.
有这些选项:
kSecAttrAccessibleAlwaysThisDeviceOnly
kSecAttrAccessibleWhenUnlockedThisDeviceOnly
kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly
Run Code Online (Sandbox Code Playgroud)
来自文档:
[...]具有此属性的项目不会迁移到新设备.[...]
我认为它们正是你所需要的.他们在WWDC演讲中得到了很好的解释:
https://developer.apple.com/videos/wwdc/2014/#711
以上讲话的示例用法:
SecAccessControlRef sacObject =
SecAccessControlCreateWithFlags(kCFAllocatorDefault,
kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly,
kSecAccessControlUserPresence, &error);
NSData* secret = [@"top secret" dataWithEncoding:NSUTF8StringEncoding];
NSDictionary *query = @{
(id)kSecClass: (id)kSecClassGenericPassword,
(id)kSecAttrService: @"myservice",
(id)kSecAttrAccount: @"account name here",
(id)kSecValueData: secret};
OSStatus status = SecItemAdd((CFDictionaryRef)query, nil);
Run Code Online (Sandbox Code Playgroud)
另请参阅:https://developer.apple.com/library/ios/documentation/Security/Reference/keychainservices/index.html#//apple_ref/doc/constant_group/Keychain_Item_Accessibility_Constants
| 归档时间: |
|
| 查看次数: |
735 次 |
| 最近记录: |