我正在尝试了解iOS应用程序AppID第一部分的作用。 此部分以前称为“Bundle Seed ID”,但现在通常称为AppID前缀。
不久前(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的第二部分,所以这不是重复的,即使有些答案和评论涉及到这个话题。)
答案 0 :(得分:23)
我的结论是,截至今天,除了使用钥匙串的应用程序之外,用新的替换AppID前缀是完全安全的。这样就可以将App Store上所有现有应用的前缀迁移到基于TeamID的新前缀。
该结论基于以下输入:
我已更改的两个“实时”应用的状态是它们已在审核中获得批准。但是,他们目前正在等待“Pending Developer Release”,因为我正在等待第三个应用程序做好准备,以便将该版本与该版本同步。
如果我在App Store上线时遇到任何问题,我当然会更新此答案。
<强>更新强>
两个应用程序在三周前成功发布。推出工作按预期进行,我没有收到任何用户投诉。
总之,答案是肯定的,这是完全安全的!
答案 1 :(得分:7)
Apple在2014年2月12日发布了一个新的tech note,确认可以(并且安全 * )自行更改Wildcard App ID的前缀,但是仍然无法自行更新显式应用ID。
但是,如果您希望他们更改显式应用ID的前缀,他们会说您可以联系成员中心维护人员。
如果他们改变主意再次:
,请在此处加入此部分所有其他应用程序ID都需要成员中心维护人员的帮助 - 如果您不使用通配符应用程序ID,则应联系iOS成员中心维护人员以获取帮助。以下是您可以使用的步骤:
- 转到https://developer.apple.com/contact/。
- 点击“注册和帐户”下的链接提交请求。
醇>
*请记住,如果您的应用将数据存储在Keychain中,更改应用ID前缀将导致一次性Keychain数据丢失。