繁体   English   中英

启用Keychain Sharing会改变您的AppID吗?

[英]Does enabling Keychain Sharing alter your AppID?

我注意到当我在Xcode中为我的iOS应用程序启用Keychain Sharing时Xcode表示它将“将Keychain Sharing权利添加到您的App ID”,并且它似乎连接到我的帐户,因为我得到一个弹出窗口,询问要使用哪个开发者帐户。 但是在开发门户网站上,我的任何应用程序ID都没有明显的变化,我的配置文件也没有像我更改应用程序的权利时那样无效。 Keychain Sharing也不是在App ID中启用/禁用的可见选项。

有谁知道Xcode在这里做了什么? 对权利文件的本地更改是显而易见的,但我想了解它的App ID方面。

iOS中的每个钥匙串项都包含一个称为钥匙串访问组的属性。 iOS应用只能访问其有权访问的钥匙串项目。 此权限来自签名时标记在应用程序中的代码签名权利。

默认情况下,应用只能使用与应用标识符代码签名权利匹配的钥匙串访问组来访问钥匙串项。 但是,如果开发人员想要在他们的应用程序之间共享钥匙串项目,他们可以添加自定义钥匙串访问组代码签名权利,该权利指定应用程序可以访问的一系列钥匙串访问组。

通常,无需设置访问组属性kSecAttrAccessGroup即可创建钥匙串项。 在这种情况下,Keychain Services会自动将该属性设置为默认值。 如果没有keychain-access-groups权利,则缺省值是application-identifier权利的值。 否则,默认值是keychain-access-groups权利中第一个数组元素的值。

在目标设置窗格上使用Xcode功能编辑器打开钥匙串共享时,Xcode会在构建时将所需的App ID前缀(团队ID)添加到任何列出的Keychain Group项目的前面。 您可以在生成的权利文件中看到由构建设置$(AppIdentifierPrefix)表示的内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM