从iphone应用商店向企业发展过渡
我在AppStore上发布了一个应用程序,我想将其迁移到企业开发人员帐户进行内部分发。 我在企业文档中读到:
如果您希望用户将应用程序的数据存储在设备上,请确保新版本使用与正在替换的软件包相同的软件包标识符,并告诉用户在安装新版本之前不要删除旧版本。 如果捆绑标识符匹配,新版本将替换旧版本并保留设备上存储的数据。
现在,假设我们在已安装的AppStore二进制文件和使用不同证书签名的企业二进制文件之间保持Bundle ID相同......它应该覆盖手机上的相同应用程序,而不是创建第二个应用程序。
我联系了Apple支持人员,他们说:“不,如果您不指示客户卸载旧的应用程序,您将安装2个应用程序。” 这是真的?
编辑:我为了对话而将原始答案留在下面,因为下面有很好的对话。 正如@mja在最初创建应用程序ID时指出的那样,它与开发人员门户的几个可用前缀之一相关联,并且该前缀可能被iOS用于关联和区分应用程序。
编辑2:当我进入我的企业门户网站并尝试创建一个具有与现有应用程序ID相同值但具有不同前缀的应用程序ID时,它仍然对我产生影响,并说:
标识符为“com.mycompany.myapp”的应用程序ID不可用。 请输入不同的字符串。
ORIGINAL答案:后面的部分是不正确的 - iOS设备使用Bundle Identifier来区分应用程序。 只要具有唯一的包标识符,例如com.mycompany.coolapp.1 - com.mycompany.coolapp.20,我就可以在同一个iOS设备上标记20个标记为“酷应用”的应用。 同样地(如果我打开了两个项目,它们都有捆绑标识com.mycompany.myapp),并且在另一个运行最后一个要运行的应用程序将被安装在设备上之后运行,应用程序将被覆盖。
关于支持自己的应用数据,我还没有测试过,尽管我会对你发生的事情感兴趣!
我设法实现了这一点,以便应用程序的“企业”版本覆盖“应用商店”分发版本。
这并不使用完全相同的捆绑ID,而是在他原来的问题中实现了OP所要求的。
我如何做到这一点是,在我的企业帐户中,创建一个通配符包标识符,前两个部分与我们的生产应用程序的包标识符相同,例如:
Production : com.xyz.abc
Enterprise : com.xyz.*
使用此通配符包ID,可以分发应用程序,并覆盖通过应用程序商店安装的任何版本(用户数据仍将保留)。 这里的前缀似乎并不重要。
通配符捆绑ID的一个缺点是您不能使用APNS等。
链接地址: http://www.djcxy.com/p/72881.html上一篇: Transition from iphone app store to enterprise development