如何防止钥匙串项目无法添加到备份中?

时间:2016-02-24 06:52:27

标签: ios objective-c swift security

如何防止钥匙串项目无法添加到备份中?还有加密备份? 当keychain(SecItem)项配置如下所示时,可以备份此钥匙串项并将其恢复到另一台设备。

let query = [
    String(kSecClass) : kSecClassGenericPassword,
    String(kSecAttrService) : "SecAttrService",
    String(kSecAttrAccount) : "SecAttrAccount",
    String(kSecValueData) : mobileId,
]

那么,如何防止该钥匙串项目无法备份?

2 个答案:

答案 0 :(得分:2)

使用" ThisDeviceOnly"可访问性常量,理想情况下为kSecAttrAccessibleWhenUnlockedThisDeviceOnly:

https://developer.apple.com/library/ios/documentation/Security/Reference/keychainservices/#//apple_ref/doc/constant_group/Keychain_Item_Accessibility_Constants

答案 1 :(得分:0)

只要不在app目录中的数据不能备份这些数据,也可以在文件夹中设置不能备份的标志,尝试类似下面的

Can I add the Do not Back up for the "Document Directory" for iCloud

iOS - Flag entire Document directory as do not backup