钥匙串代码签名权利 - 奇怪的行为,钥匙串损失

时间:2014-10-08 11:43:20

标签: ios objective-c xcode keychain ios-provisioning

我已经在appstore中分发了一个应用程序,通过添加Keychain Entitlement文件来启用 Keychain共享。最初,我想有两个应用程序共享相同的keychain,但后来我只有一个应用程序。虽然在XCode中的常规功能中启用了keychain共享访问,并且在代码签名权利中添加了Entitlement文件,我将 nil 值设置为访问 KeychainItemWrapper 类中的组,如下所示。

  

KeychainItemWrapper * keychainWrapper = [[KeychainItemWrapper alloc] initWithIdentifier:KEYCHAIN_IDENTIFIER_NAME accessGroup:nil];

在下一个版本中,我删除了 Keychain Entitlement 文件和代码签名权利,因为我认为这是不必要的,但现在应用程序无法访问以前的版本keychain item并返回 null 值。

  1. 请在两个版本中解释我这种奇怪的行为 访问组始终设置为nil。

  2. 还解释了启用和禁用Keychain的钥匙串结构 共享。

1 个答案:

答案 0 :(得分:0)

如果为KeychainBundleIdntifier传递了nil值,那么它将获取共享密钥链的Bundle Identifier值,该值将是keychain entitlements.plist中的共享密钥链标识符