testing更新时的TestFlight警报:您已经安装了此应用程序
我试图使用TestFlighttesting从App Store应用程序构build到RC的更新场景,但是TestFlight提醒我“你已经安装了这个应用程序,你想replace…”(见下面的截图)。 确认后,App Store版本的所有数据都消失了。
我做的步骤是 :
- 从App Store安装实时应用程序
- login并执行一些操作以获取应用程序和钥匙串中的数据
- 转到TestFlight iOS应用程序
- 在TestFlight中点击“安装”button – >提示“你已经安装了这个应用程序”出现
- 如果我点击select安装,新版本安装
结果 :
- 当我再次打开应用程序时,应用程序的内容包括共享容器(与扩展共享的数据)和钥匙串完全擦除
编辑:TestFlight中的警报出现与任何应用程序(我已经尝试了不同的开发者帐户多个不同的应用程序)。 实际的数据删除只发生在一些。
我的问题 :
这是从TestFlight预期的行为,或者是我的应用程序的任何问题? 我不知道可能会导致任何问题的版本之间的任何更改。
我相信这是没有发生过的(上个星期我试过的最后一次)。
我找不到有关TestFlight应用程序行为或更改的任何文档或发行说明。
有没有人遇到同样的问题? 或者你知道任何资源描述这种行为?
感谢您的任何答案!
经过长时间的研究,试验和错误,创build雷达并发布更新到App Store,我有一个答案:
警报总是存在并且与丢失数据无关。
- 对于从TestFlight安装的任何应用程序,始终显示警告和可能的数据丢失警告。
- 对于我尝试的多个应用程序中的任何一个都是如此。
使用TestFlight构build覆盖应用程序时,identifierForVendor identifierForVendor
发生更改。
- 如果安装了app store版本的应用,并使用TestFlight进行编译覆盖,
[[UIDevice currentDevice] identifierForVendor]
发生变化 - 这是意外的,因为它没有在文档中提到(见下文)
- 在我的情况下,
identifierForVendor
意外的变化导致了“数据的松散”,而不是实际的数据丢失,但是它只发生在你无法debugging的TestFlight构build中,所以很难find问题。
[[UIDevice currentDevice] identifierForVendor]
文档说:
此应用程序(或来自同一供应商的另一个应用程序)安装在iOS设备上时,此属性中的值保持不变。 当用户从设备上删除所有供应商的应用程序并随后重新安装其中的一个或多个应用程序时,值会更改。 在使用Xcode安装testing版本时或者在使用ad-hoc分发的设备上安装应用程序时,该值也可能会发生变化。
据我所知,
如果你已经在你的设备上安装了App Store的应用程序(假设版本号为1.0),并且假设你正在从TestFlight再次下载/安装相同的版本号为1.0的应用程序,则会得到上面的消息。
这是因为您正在尝试使用设备上已存在的相同版本和捆绑ID来安装应用程序。
OffCourse你将失去应用程序的数据/设置,因为它取代你的应用程序不更新。
我也经历了这种情况。
如果您的设备上安装了完整版本的应用程序,并且安装了相同的testing版应用程序,则您的应用程序数据可能已损坏或丢失,并且可能无法恢复。 在安装testing版应用程序之前,您应该备份您的信息。
http://www.apple.com/legal/internet-services/itunes/testflight/sren/terms.html
我不知道这是怎么发生的