2013-08-27 42 views
23

我想了解AppID的第一部分iOS应用程序的角色。 这部分以前被称为“捆绑种子ID”,但现在通常称为AppID前缀。在更新之间更改AppID前缀是否安全?

前段时间(iOS 5?),Apple对其门户和文档进行了一些更改,并开始建议将“Team ID”(每个开发人员帐户唯一)用作AppID前缀。对于使用新应用程序的新开发人员来说,这很简单直接。

但是,处理与AppID前缀有关的现有应用程序的最佳做法是什么? 我知道无法在两个应用版本之间更改BundleID(= AppID的第二部分),但是否可以更改应用版本之间的前缀?

请注意,我并不是指替换“通配符AppID”,例如, ABC1234567。*,使用相同的前缀(例如, ABC1234567.com.mycompany.myapp。有很多关于这方面的信息(尽管它大部分都是过时的)。我在考虑更改完整的AppID,例如ABC1234567.com.mycompany.myapp,通过用我的团队ID替换前缀来获得现有的应用,例如DEF7654321.com.mycompany.myapp。

我想我已经在某处读过,应该可以更改现有应用程序的前缀,除非应用程序使用钥匙串存储数据的特殊情况除外。如果这是真的,那么处理现有应用程序前缀的最简单方法就是在发布下一次更新时迁移到新的团队ID。当我所有的应用程序都被迁移后,我可以继续使用团队ID(正如苹果推荐的新应用程序一样),最后忘掉所有这些混乱。 任何人都可以证实这一点?

如果您可以更多地了解AppID前缀的概念以及它在iOS设备上的实际使用情况(除了我已经知道的钥匙串外),我会很高兴如果您可以写一条评论。也许我们可以通过添加来自不同来源的零碎件来充分理解这一点。可悲的是,苹果的文档在这个领域非常薄弱。

(还有一个类似的问题:Can I change the Bundle Identifier in my app after it's been approved?但是主要关注的是BundleID,即AppID的第二部分,所以这不是重复的,即使有些答案和评论触及了这个主题。 )

+0

关于AppID前缀是否用于控制对钥匙串访问的任何其他目的的问题,我注意到了UIPasteboard引用文档中的更改。对于iOS 7:对于“pasteboardWithName:create:”方法,现在有一个说明,指出两个应用程序必须具有“相同的团队ID”才能共享粘贴板。我怀疑这可能是一个错字,并且它实际上是指AppID前缀。很难相信iOS在运行时已经对TeamID有任何直接的了解,除了将TeamID用作AppID前缀的情况。 – Magnus

回答

21

从今天开始,我的结论是,除了使用钥匙串的应用程序之外,将AppID前缀替换为新的AppID前缀是完全安全的。这会将我App Store上所有现有应用程序的前缀迁移到新的基于TeamID的前缀。

这个结论是基于以下输入:

  • 讨论我几个星期前 曾与苹果公司的开发人员支持。他们告诉我,改变前缀不应该有任何问题,除了使用钥匙串的应用程序。
  • 我做了一个测试,使用ad-hoc发行版,验证测试设备上的现有应用在使用另一个前缀更新到新版本时没有丢失任何数据。
  • 事实上,我已经成功上传了我的现有应用程序的两个 的新版本,替换了前缀,至今没有任何问题。

我已更改的两个“实时”应用程序的状态是它们已在审阅中得到批准。但是,他们目前正在等待“等待开发者发布”,因为我正在等待第三个应用程序准备就绪,以便将该版本与该版本同步。

如果我在App Store上看到任何问题,我当然会更新这个答案。

更新:

两个应用程序成功发布了三个多星期前。推出按预期进行,我没有收到任何用户投诉。

总之,答案是肯定的,这是完全安全的!

+0

您能解释一下您如何设法使用不同的前缀创建新的应用程序ID?它仍然不让我这样做。说'具有标识符的应用程序ID'com.domain.appname'不可用。请输入一个不同的字符串.' - 对于我仍然有效的应用程序ID和我删除的应用程序ID都是可以删除的。 –

+0

已删除用于创建新随机前缀的选项。如果你今天从头开始,唯一的选择是使用TeamID作为前缀。如果您有一些使用其他前缀的现有应用程序,则这些现有前缀在创建新的AppID时也会显示为选项。在我的情况下,我只测试过使用TeamID替换旧的通配符AppID。我认为你的问题可能是另一个问题:BundleID需要是全球唯一的。请参阅http:// stackoverflow。com/a/6546206/824515也许无法用TeamID替换旧的显式AppID? – Magnus

+0

还有一件事:我在App Store上有5个应用程序。没有人使用任何需要显式AppID的功能。我只有一个适用于所有应用的通配符AppID。但是,当我开始调查这个问题时,我发现门户上有许多现有的显式AppID,我从未创建过自己!每个现有应用都有一个ID。这些使用TeamID,即使我的应用程序使用另一个前缀!当Apple推出新的TeamID策略时,这些ID可能是自动生成的。这是替换前缀时使用的这些ID之一。 – Magnus

7

苹果在2014年2月12日公布了一项新tech note确认这是可能的(和安全*)自己去改变前缀通配符应用程序ID,但它仍然不可能自己做了明确的应用ID。

但是,他们说如果您希望他们更改您的显式应用程序ID的前缀,您可以联系成员中心维护人员。

要去包括在这里的情况下,这部分他们再次改变主意

所有其他App ID将要求会员中心维护人员的帮助 - 如果你不使用通配符的App ID,然后你应该联系iOS成员中心维护人员寻求帮助。以下是您可以使用的步骤:

  1. 转至https://developer.apple.com/contact/
  2. 通过单击注册和帐户下的链接提交请求。

*请记住,如果您的钥匙扣应用商店数据,更改应用程序ID前缀将导致一次性钥匙扣数据丢失。

相关问题