2010-03-20 70 views
3

我在Store上为我们准备了一个更新的应用程序。iPhone:除了App Store构建之外,如何运行Beta构建?

我们团队的其他成员已经装起来(〜购)在各自的iPhone App Store的版本 - 那些含有用户数据,每个成员都需要能够保持

与此同时,我们需要测试一个测试版本的下一个版本的应用程序。

大概我们需要在每个设备上同时存在两个版本(ad hoc和app store),至少在每个人都在beta版本上签名并上传到商店之前(此时,他们会删除测试版)。

[一旦它在商店上,当然它们可以通过通常的App Store'更新'机制更新它们的主要版本(即发行版)。在这种情况下,所有的用户数据仍然保留完好。]

所以假设这是正确的工作流程...

如何发出测试版的团队,并将它不能代替/覆盖现有App Store版本?

我试过在测试版的“[appname] -Info.plist”中定制参数,但还没有找到允许两个版本(测试版和发行版)在同一设备上共存的设置。

任何想法?这是他们能够保存数据的正确方法吗?

(也是最后一次,我怎么可能与&做到这一点没有剧本我以为这里只有一个参数,它会需要改变?)

我希望这一切是有道理的 - 预先感谢您您的帮助!

+2

不幸的是,您不会告诉我们您尝试修改Info.plist中的哪些参数。我的理解是,软件包标识符是Apple用来唯一标识应用程序的标识符。你有尝试改变它吗? – 2010-03-20 10:12:49

+0

谢谢你,奥莱。请参阅下面的评论。 – rondoagogo 2010-03-21 06:00:02

回答

2

所以你想在一个设备上有两个版本的同一个应用程序?我不认为有办法来获得这种效果 - 更新一个应用程序,该应用程序在唯一CFBundleIdentifier上的键将替换旧版本捆绑包,而不是数据。

为了达到你想要的效果,你必须有两个不同的应用程序。他们需要不同的CFBundleIdentifiers,所以他们不会相互覆盖。然后他们无法共享数据,因此您必须安排涉及设备外共享空间的导出/导入。

如果您不想要这个麻烦,请发布团队额外的设备并对这些设备进行测试。该团队的主要设备保留在AppStore版本上。您仍然必须导出/导入将测试设备上的内容传输到主设备。但是,App Store版本中的每个付费内容都应该可用于其测试版,不过,像往常一样,应用程序升级和一个所有者多设备场景。

+0

谢谢Ole&Joseph的反馈意见。我相信我尝试过可执行文件名和Bundle名称,但不是Bundle标识符。将检查出来。 (对于它的价值,我遇到了一个不同的问题,这个问题无法在接下来的几天内进行测试,但是我会报告回来。)也值得一提的是,他们不需要在两个版本的应用程序之间共享数据 - 只要不丢失主要版本(即发行版)中的现有数据。 [在这种情况下云中没有任何数据,只有App Store版本的本地数据保存在单个设备上。] – rondoagogo 2010-03-21 05:57:15

+0

[正如我所说的,我有一个单独的,无关的问题,它排除了测试我的设备。]但我只是使用模拟器测试这个解决方案,它似乎工作。对于它的价值,似乎使应用程序与另一个应用程序“不同”的看起来就是该Bundle标识符。 (事实上​​,在这种情况下,这些实质上是* same * app的两个版本;但由于Bundle ID不同,Springboard将它们视为唯一的,所以实质上可以加载任意数量的'instances'根据需要,通过改变Bundle ID)。谢谢你们俩! – rondoagogo 2010-03-21 06:22:12