如何通过Siri工具包扩展启用钥匙串共享?

时间:2018-07-03 21:32:58

标签: ios keychain sirikit

我想启用我的应用程序与sirikit扩展之间的钥匙串共享。 我为应用程序和sirikit添加了具有相同字符串的钥匙串访问组。 还为两个目标使用相同的字符串添加了应用组。 我将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;
    }

任何指导表示赞赏。谢谢

1 个答案:

答案 0 :(得分:0)

由于TeamID或AppIdentifierPrefix在应用程序和siri扩展使用的配置文件中不同而导致无法运行的原因。当我们使用钥匙串访问组时,如果您检查权利,则钥匙串访问组将以AppIdentifierPrefix为前缀,AppIdentifierPrefix是您的帐户随附的TeamID或AppID:

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

该AppIdentifierPrefix对于该应用程序和sirikit必须相同。 谢谢