【发布时间】:2013-08-27 08:28:28
【问题描述】:
我正在尝试了解 iOS 应用程序的 AppID 的第一部分的作用。 这部分以前称为“Bundle Seed ID”,但现在通常称为 AppID Prefix。
不久前(iOS 5?),Apple 对其门户和文档进行了一些更改,并开始推荐使用“团队 ID”(每个开发者帐户唯一)作为 AppID 前缀。对于使用新应用的新开发者来说,这非常简单明了。
但是,对于 AppID 前缀,处理现有应用程序的最佳做法是什么? 我知道在两个应用版本之间更改 BundleID(= AppID 的第二部分)是不可能的,但是在应用版本之间更改前缀是否安全?
请注意,我不是指替换“通配符 AppID”,例如ABC1234567.*,使用相同前缀的显式 AppID,例如ABC1234567.com.mycompany.myapp。有大量关于此的信息(不过其中大部分已经过时)。我正在考虑更改完整的 AppID,例如ABC1234567.com.mycompany.myapp,对于现有应用程序,将前缀替换为我的团队 ID,例如DEF7654321.com.mycompany.myapp.
我想我在某处读到应该可以更改现有应用程序的前缀,除非应用程序使用钥匙串存储数据的特殊情况。如果这是真的,处理现有应用程序前缀的最简单方法是在发布下一个更新时迁移到新的团队 ID。当我的所有应用程序都迁移完毕后,我可以继续使用团队 ID(正如 Apple 为新应用程序所推荐的那样),最终忘记所有这些混乱。 谁能证实这一点?
如果您可以进一步了解 AppID 前缀的概念,以及它在 iOS 设备上的实际用途(除了我已经知道的钥匙串),如果您能写评论,我会很高兴.也许我们可以通过添加来自不同来源的点点滴滴来建立对此的充分理解。遗憾的是,Apple 文档在这方面的内容非常薄。
(还有一个类似的问题:Can I change the Bundle Identifier in my app after it's been approved? 不过主要是针对BundleID,即AppID的第二部分,所以这不是重复的,虽然有些答案和cmet都涉及到这个话题.)
【问题讨论】:
-
关于 AppID 前缀是否用于任何其他目的而不是控制对钥匙串的访问的问题,我注意到 UIPasteboard 参考文档中的更改。对于 iOS 7:对于方法“pasteboardWithName:create:”,现在有一条说明指出两个应用程序必须具有“相同的团队 ID”才能共享粘贴板。我怀疑这可能是一个错字,它实际上是指 AppID 前缀。很难相信 iOS 在运行时对 TeamID 有任何直接的了解,除了将 TeamID 用作 AppID 前缀的情况。
标签: ios ios-provisioning app-id