我试图了解 iOS 应用程序的 AppID 的第一部分的作用。这部分以前称为“Bundle Seed ID”,但现在通常称为 AppID Prefix。
不久前(iOS 5?),Apple 在其门户和文档中进行了一些更改,并开始推荐使用“团队 ID”(每个开发者帐户唯一)作为 AppID 前缀。对于使用新应用程序的新开发人员来说,这非常简单明了。
但是,关于 AppID 前缀处理现有应用程序的最佳实践是什么?我知道在两个应用程序版本之间更改 BundleID(= AppID 的第二部分)是不可能的,但是在应用程序版本之间更改前缀是否安全?
请注意,我并不是指将“通配符 AppID”(例如 ABC1234567.*)替换为使用相同前缀的显式 AppID,例如 ABC1234567.com.mycompany.myapp。有大量关于这方面的信息(不过大部分都已经过时了)。我正在考虑通过将前缀替换为我的团队 ID(例如 DEF7654321.com.mycompany.myapp)来更改现有应用程序的完整 AppID,例如 ABC1234567.com.mycompany.myapp。
我想我在某处读到应该可以更改现有应用程序的前缀,除非应用程序使用钥匙串存储数据的特殊情况。如果这是真的,处理现有应用程序前缀的最简单方法是在发布下一个更新时迁移到新的团队 ID。当我的所有应用程序都迁移完毕后,我可以继续使用 Team ID(正如 Apple 为新应用程序所推荐的那样),最终忘记所有这些混乱。 谁能证实这一点?
如果您可以进一步了解 AppID 前缀的概念,以及它在 iOS 设备上的实际用途(除了我已经知道的钥匙串),如果您能写评论,我会很高兴。也许我们可以通过添加来自不同来源的点点滴滴来建立对此的充分理解。可悲的是,Apple 文档在这方面非常薄弱。
(还有另一个类似的问题:我的应用程序中的Bundle Identifier被批准后可以更改吗?但这主要是针对BundleID,即AppID的第二部分,所以这不是重复的,尽管有些答案和评论都涉及到这个话题。)