【问题标题】:How to enable keychain sharing with Siri kit extension?如何使用 Siri 套件扩展启用钥匙串共享?
【发布时间】:2026-01-08 04:20:04
【问题描述】:

我想在我的应用和 Sirikit 扩展程序之间启用钥匙串共享。 我为 app 和 Sirikit 添加了具有相同字符串的钥匙串访问组。 还为具有相同字符串的两个目标添加了 App 组。 我使用 Locksmith 作为钥匙串包装器,它还使用 kSecAttrAccessGroup 属性,其值为 teamID + 钥匙串访问组 ID。但是当我尝试从 siri 扩展运行时出现以下错误:

CredStore - performQuery - Error copying matching creds.  Error=-25300, query={class = inet;
        "m_Limit" = "m_LimitAll";
        ptcl = htps;
        "r_Attributes" = 1;
        srvr = "appurl.com";
        sync = syna;
    }

感谢任何指导。谢谢

【问题讨论】:

    标签: ios keychain sirikit


    【解决方案1】:

    无法正常工作的原因是应用程序和 siri 扩展程序使用的配置文件中的 TeamID 或 AppIdentifierPrefix 不同。当我们使用钥匙串访问组时,如果您检查权利,钥匙串访问组的前缀是 AppIdentifierPrefix,这是与您的帐户关联的 TeamID 或 AppID:

    <key>keychain-access-groups</key>
    <array>
        <string>$(AppIdentifierPrefix)common_keychain_access_group_string</string>
    </array>
    

    并且这个 AppIdentifierPrefix 对于应用程序和sirikit 必须相同。 谢谢

    【讨论】: