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

Posted

技术标签:

【中文标题】钥匙串代码签名权利 - 奇怪的行为,钥匙串丢失【英文标题】:Keychain Code Signing Entitlements - Strange behavior, Keychain loss 【发布时间】:2014-10-08 11:43:19 【问题描述】:

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

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

在下一个版本中,我删除了 Keychain Entitlement 文件和 代码签名权利,因为我觉得它没有必要,但现在应用程序无法访问以前版本的钥匙串项并返回 null 值。

    请解释一下这个奇怪的行为,因为在两个版本中 访问组始终设置为 nil。

    还解释了启用和禁用钥匙串的钥匙串结构 分享。

【问题讨论】:

【参考方案1】:

如果为 KeychainBundleIdntifier 传递了 nil 值,那么它将采用共享钥匙串的 Bundle Identifier 的值,该值将是 keychain entitlements.plist 中的共享钥匙串标识符

【讨论】:

以上是关于钥匙串代码签名权利 - 奇怪的行为,钥匙串丢失的主要内容,如果未能解决你的问题,请参考以下文章

代码签名错误:与默认钥匙串中的密钥对不匹配

代码签名错误:证书身份在钥匙串中出现多次 [重复]

代码符号想要使用钥匙串中的密钥进行签名

Jetbrains Rider、Xamarin IOS 在钥匙串中找不到有效的 iOS 代码签名密钥

配置文件与应用程序标识符和钥匙串访问组权利的权利文件值不匹配

Vidyo:钥匙串中没有找到供应商ID - 确保存在正确的权利文件