1

我真的不明白标识符是什么或如何使用它。

是任意的吗?是我的应用名称倒序吗?下面我使用“测试”,但它应该是:“com.mydomain.myApp.test”吗?还是我的应用程序包标识符:“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];
}
4

1 回答 1

1

KeychainItemWrapper 是一个包装类,用于向“典型”开发人员隐藏所有 CFRef 转换内容。如此一来, Security框架中 Keychain 服务的所有“规则”都成立。

因此,每当您访问钥匙串项目时,框架会自动将您的应用程序的捆绑 ID“添加”到该项目,以确保您只能读取自己的项目,例如SecItemAdd 讨论

因此,这identifier是完全任意的,可能只会在您自己的应用程序内引发冲突,而不是与其他应用程序。

备注:如果指定accessGroup,则可以在应用程序之间共享密钥,请参阅在应用程序集合中共享对钥匙串项的访问

于 2021-03-05T08:58:38.110 回答