iOS Keychain 读写规则

iOS Keychain 读写规则

未开启Keychain Sharing

  • 写Keychain时不设置group,会写到默认的group里(app id prefix + bundle)

  • 写Keychain时设置了group,只能设置默认的group,否则会导致Keychain写入失败。

总结:未开启Keychain Sharing时只能写入到默认的group里。

PS:未开启Keychain Sharing时,iOS10模拟器下Keychain可能无法正常使用。

已开启Keychain Sharing

  • 若不添加Keychain Groups,只能写到默认的group中,无论写Keychain时是否设置了group。

  • 若添加了Keychain Groups:

    • 写Keychain时不设置group,会写到Keychain Groups里第一项group里。

    • 写Keychain时设置了group,会写到设置的group里。但如果设置的group非法,即不在Keychain Groups中,也不是默认的group(app id prefix + bundle),则会写入失败。

读取Keychain

在设置了kSecMatchLimitOne的情况下,若曾写入过多个group,目前测试的结果显示可能与写入的先后顺序有关(没有在官方文档中找到依据,测试结果可能有偏差)

你可能感兴趣的:(iOS Keychain 读写规则)