【问题标题】:share keychain access between group of apps with same team id在具有相同团队 ID 的应用程序组之间共享钥匙串访问权限
【发布时间】:2017-01-02 16:06:06
【问题描述】:

我将拥有一个主应用程序和 n 个子应用程序,希望它们共享钥匙串,

在 entitlements.plist 中,所有子应用都将拥有自己的包标识符

我用来添加和获取所有应用程序详细信息的钥匙串组访问权限是 PM7456S8QE.com.mango.GenericKeychain

在所有应用程序中,keychain-group-access 语法 就像

PM7456S8QE.com.mango.app1 PM7456S8QE.com.mango.app2

所有应用都将使用相同的证书进行签名,甚至移动配置文件也相同

由于所有应用程序都具有相同的团队 ID,我能否从钥匙串中添加和获取详细信息?

【问题讨论】:

    标签: ios keychain


    【解决方案1】:

    老问题,但仍然值得回答:

    iOS 上的多个应用只能共享属于同一个应用组或同一个钥匙串访问组的钥匙串项。因此,您的应用必须具有钥匙串访问组或应用组授权,并且每当两个应用在其中列出相同的组名称时,它们也可以共享钥匙串项。

    钥匙串访问组和应用组之间的区别在于钥匙串访问组只允许应用共享钥匙串项目,而不会共享其他任何内容。应用组还允许您的应用共享设置和数据文件,并允许这些应用之间进行原本不允许的交互。

    请注意,一个应用可以同时属于任意数量的钥匙串访问和应用组。唯一的限制是它所属的所有组必须是同一开发团队的组。无法跨开发团队共享。

    Apple 有关于此主题的良好文档,详细解释了这种共享:

    https://developer.apple.com/documentation/security/keychain_services/keychain_items/sharing_access_to_keychain_items_among_a_collection_of_apps

    相同的规则适用于 macOS,但 macOS 还为不可同步且不请求使用 iOS 引入的新钥匙串 API 的钥匙串项目提供替代访问控制系统。在这种情况下,其他共享选项可用,但不适用于 iOS。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-06
      • 2012-06-29
      • 2017-07-13
      • 2023-03-20
      • 1970-01-01
      • 2017-01-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多