我真的不明白标识符是什么,也不知道它是如何使用的。
是任意的吗?这是我的应用程序名称的反转吗?下面我使用"test"但它应该是:"com.mydomain.myApp.test"吗?或者我的app bundle标识符:com. soundpaper。soundpaper。fakeid123 ?还是别的什么?
谢谢。
@property (nonatomic, strong) KeychainItemWrapper *myChain;
. . .
if (myChain == nil)
{
// first question: what identifier should I use?
myChain = [[KeychainItemWrapper alloc] initWithIdentifier:@"test" accessGroup:nil];
}
KeychainItemWrapper是一个包装器类,用于隐藏所有CFRef转换的内容。开发人员。既然如此,所有的"规则">Security框架中所有Keychain服务的支持。
因此,无论何时访问keychain项,框架都会自动"添加"。你的应用的bundle id到那个项目,以确保你只能读取你自己的项目,例如SecItemAdd讨论。
因此,identifier
是完全任意的,可能只会在你自己的应用中引起冲突,而不会与其他应用产生冲突。
备注:如果您指定了accessGroup
,您可以在应用程序之间共享密钥,请参见在应用程序集合中共享对密钥链项的访问