正如Apple文档所述,如果应用程序具有相同的App ID前缀并且他们在权利中设置了相同的keychain-access-groups,则应用程序可以共享密钥链数据 .

但是,只要我提供正确的keychain-access-groups作为硬编码字符串,我就能够从具有不同App ID前缀的应用程序访问共享密钥链数据 . 喜欢 ABCDEFGHIJ.my.keychain.group .

似乎将keychain-access-groups值保密是阻止某人访问钥匙串数据的唯一因素 . 显然,由于它只是一个plist值,这根本不安全 .

Is there any way to ensure that an app that is not included in my Apple Developer Program will not be able to access shared keychain, even if it knows my keychain-access-groups value?