iOS 钥匙串访问和配置文件

iOS Keychain access and Provisioning Profiles

刚在苹果上看到这个Keychain Services Concepts

Note: On iPhone, Keychain rights depend on the provisioning profile used to sign your application. Be sure to consistently use the same provisioning profile across different versions of your application.

我也知道供应配置文件可能会因多种原因而发生变化,包括添加推送通知等新功能、添加手表支持,甚至添加新的团队成员。

现在我是否正确地假设每当发生上述更改时,我的应用程序的新版本将不再能够访问使用以前版本创建的钥匙串项目?

谢谢!

keychain 直接依赖于 Bundle id,如果 bundle id 保持不变,那么您的应用程序可以访问 keychain,因此如果应用程序需要访问 keychain,配置文件应该映射相同的 bundle id。

我不认为你的假设是正确的。 Keychain Acces 仅取决于应用程序的 bundle 标识符 以及首次用于创建应用程序的配置文件。如果这取决于您的代码供应配置文件更改,确实您说的是正确的,但如果是这样,企业和企业将完全无法为其应用程序开发更新,其中还包括存储在钥匙串中的旧信息。那是因为在商业中,人们经常来来去去!

Note: On iPhone, Keychain rights depend on the provisioning profile used to sign your application. Be sure to consistently use the same provisioning profile across different versions of your application.

只要配置文件保持不变,您就可以添加团队成员、配置推送通知服务等。

注意:如果您只是为了添加团队成员而更改供应配置文件,是的,您的假设是正确的,但这并不是执行此操作的最佳方式。相反,我建议阅读 this tutorial (on how to add a team member to a provisioning profile).