我在AppStore上发布了一个应用程序,我想将它迁移到企业开发人员的内部发行版帐户中。我在企业文档中看到:
如果您希望用户将应用程序的数据存储在他们的设备上,请确保新版本使用与其替换的版本相同的包标识符,并告诉用户在安装新版本之前不要删除他们的旧版本。如果捆绑标识符匹配,新版本将取代旧版本,并将数据存储在设备上。
现在,假设我们在已经安装的AppStore二进制文件和用不同证书签名的企业二进制文件之间保持相同的绑定ID .it 应该在他们的手机上覆盖同一个应用程序,而不是创建第二个应用程序。
我联系了苹果的支持部门,他们说:“不,如果你不指示客户端卸载他们的旧应用,你就会安装两个应用程序。”这是真的吗?
发布于 2013-07-17 20:36:45
编辑:我把原来的答案留在下面,因为下面有很好的对话。正如@mja所指出的,当您最初创建应用程序ID时,它与开发人员门户的少数可用前缀之一相关联,iOS可能会使用该前缀来关联和区分应用程序。
EDIT2:当我进入企业门户,尝试创建一个与现有应用ID值相同但前缀不同的应用程序ID时,它仍然会对我产生影响,并说:
一个带有标识符'com.mycompany.myapp‘的应用程序ID不可用。请输入不同的字符串。
最初的答案:后一部分是不正确的- iOS设备使用捆绑标识符来区分应用程序。我可以在同一个iOS设备上有20个标记为"Cool“的应用程序,只要它们有独特的包标识符,比如com.mycompany.Coolapp1.com.mycompany.Coolapp.20。同样地(我意外地这样做了),如果我打开两个项目,这两个项目都有捆绑标识符com.mycompany.myapp,然后一个接一个地运行,将在设备上安装最后一个应用程序,而前面的应用程序将被覆盖。
关于应用程序数据的维持本身,我还没有测试,虽然我会对发生什么对你感兴趣!
发布于 2014-08-07 09:46:39
我成功地做到了这一点,因此应用程序的“企业”构建覆盖了一个“应用商店”分布式版本。
这并不使用完全相同的包ID,但是实现了OP在他最初的问题中所要求的内容。
我是如何在我的企业帐户中创建一个通配符包标识符的,前两部分与我们的生产应用程序的包标识符相同,例如:
Production : com.xyz.abc
Enterprise : com.xyz.*使用此通配符包ID,应用程序可以被分发,并覆盖通过应用商店安装的任何版本(用户数据仍将持续)。前缀在这里似乎不重要。
通配符包id的一个缺点是不能使用APNS等等。
https://stackoverflow.com/questions/17709612
复制相似问题