我尝试使用TestFlight测试从实时App Store应用程序构建到RC的更新方案,但TestFlight向我发出警告“您已安装此应用程序。是否要替换...”(请参阅下面的屏幕截图)。确认后,App Store版本中的所有数据都消失了。
我做的步骤:
结果:
编辑:TestFlight中的警报随任何应用程序一起出现(我尝试过来自不同开发帐户的多个不同应用程序)。实际的数据删除只发生在一些人身上。
我的问题:
这是TestFlight的预期行为还是我的应用程序有任何问题?我不知道任何可能导致任何问题的版本之间的任何变化。
我相信这种情况以前没有发生过(几周前我最后一次尝试过)。
我找不到有关TestFlight应用行为或更改的任何文档或发行说明。
有没有人遇到同样的问题?或者您是否知道描述此行为的任何资源?
感谢您的回答!
答案 0 :(得分:16)
经过长时间的研究,试验和错误,创建雷达并向App Store发布更新,我得到了答案:
警报始终与丢失数据无关。
identifierForVendor
会发生变化。
[[UIDevice currentDevice] identifierForVendor]
更改结果identifierForVendor
的意外更改导致“数据松动”,这不是实际的数据丢失,但它只发生在您无法调试的TestFlight构建中,因此很难找到问题。 [[UIDevice currentDevice] identifierForVendor]
的文档说:
在iOS设备上安装应用程序(或来自同一供应商的其他应用程序)时,此属性中的值保持不变。当用户从设备中删除所有该供应商的应用程序并随后重新安装其中一个或多个应用程序时,该值会更改。使用Xcode安装测试版本或使用ad-hoc分发在设备上安装应用程序时,该值也会发生变化。
答案 1 :(得分:1)
据我所知,
如果你已经在你的设备上从App Store安装了应用程序(假设版本号为1.0),并且让我们再次从TestFlight下载/安装相同版本号为1.0的相同应用程序,则会收到以上消息。
/>
这是因为您正在尝试使用设备上已存在的相同版本和捆绑ID来安装应用程序。
当您更换应用程序而不更新时,您将丢失应用程序的数据/设置。 />
我也经历了这种情况。
答案 2 :(得分:0)
如果您的设备上安装了完整版的应用,并且安装了相同的Beta应用,则您的应用数据可能已损坏或丢失,可能无法恢复。您应该在安装Beta应用程序之前备份您的信息。
http://www.apple.com/legal/internet-services/itunes/testflight/sren/terms.html
我不知道这是怎么发生的