测试更新时的TestFlight警报:您已安装此应用程序 [英] TestFlight alert while testing update: You already have this app installed

查看:1445
本文介绍了测试更新时的TestFlight警报:您已安装此应用程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试使用TestFlight测试从实时App Store应用程序构建到RC的更新方案,但TestFlight向我发出警告您已安装此应用程序。是否要替换...(请参阅​​下面的屏幕截图)。确认后,App Store版本中的所有数据都将消失。

I was trying to test update scenario from live App Store app build to RC using TestFlight, but TestFlight gives me alert "You already have this app installed. Do you want to replace..." (see below screenshot). After confirmation, all data from App Store version is gone.

我做的步骤


  1. 从App Store安装实时应用

  2. 登录并执行一些操作以获取应用程序和Keychain中的数据

  3. 转到TestFlight iOS应用程序

  4. 点击安装按钮TestFlight - > alert你已安装此应用程序出现

  5. 如果我点击选择安装,则安装新版本

  1. Install live app from the App Store
  2. Login and do some operations to get data in the app and Keychain
  3. Go to TestFlight iOS app
  4. Tap "Install" button in TestFlight -> alert "You already have this app installed" appears
  5. If I tap choose Install, new build is installed

结果


  • 应用的内容包括共享容器(与扩展程序共享的数据)当我再次打开应用程序时,完全擦除了

  • The app's content including Shared Container (data shared with Extensions) and Keychain are completely wiped when I open the app again

编辑:TestFlight中的警报随任何app(我尝试过来自不同开发者帐户的多个不同应用S)。实际数据删除仅适用于某些人。

The alert in TestFlight appears with any app (I have tried multiple different apps from different dev accounts). The actual data deletion happens only for some.

我的问题

是这个来自TestFlight的预期行为还是我的应用程序的任何问题?我不知道版本之间可能会出现任何问题的任何变化。

Is this expected behaviour from TestFlight or is it any issue with my app? I'm not aware of any changes between versions which could cause any issues.

我相信这种情况之前没有发生过(我几周前最后一次尝试过)。

I believe this was not happening before (the last time I tried was few weeks ago).

我找不到有关TestFlight应用程序行为或更改的任何文档或发行说明。

I couldn't find any documentation or release notes regarding TestFlight app behaviour or changes.

有没有人经历过同样的问题?或者您是否知道描述此行为的任何资源?

Did anyone experience the same issue? Or do you know any resources describing this behaviour?

感谢您的回答!

推荐答案

经过长时间的研究,试验和错误,创建雷达并向App Store发布更新后,我得到了答案:

After long research, trials and errors, creating radar and releasing update to App Store, I have an answer:

警报始终存在与丢失数据没有关系。


  • 任何应用程序始终显示警告,其中包含可能丢失数据的警告通过非TestFlight Build从TestFlight安装。

  • 对于我尝试过的多个应用程序中的任何一个都是如此。

identifierForVendor 在使用TestFlight构建覆盖应用时更改。

identifierForVendor changes when overwriting app with TestFlight build.


  • 如果您安装了应用程序商店版本的应用程序并使用TestFlight构建覆盖它,那么 [[UIDevice currentDevice] identifierForVendor] 的结果会发生变化

  • 这是意料之外的,因为它没有被提及d在文档中(见下文)

  • 在我的情况下, identifierForVendor 的意外更改导致数据松散,而不是实际丢失的数据,但它只发生在你无法调试的TestFlight版本中,所以很难找到问题。

  • When you have App Store version of the app installed and overwrite it with build from TestFlight, result of [[UIDevice currentDevice] identifierForVendor] changes
  • This is unexpected since it is not mentioned in the documentation (see below)
  • In my case unexpected change of identifierForVendor was causing "loose of data" which wasn't actual lose of data, but it is happening only for TestFlight builds which you cannot debug, so it was hard to find the issue.

[[UIDevice currentDevice] identifierForVendor] 的文档说:


当iOS设备上安装app(或来自同一供应商的其他应用程序)时,此属性中的值保持不变。当用户从设备中删除所有该供应商的应用程序并随后重新安装其中一个或多个应用程序时,该值会更改。使用Xcode安装测试版本或使用ad-hoc分发在设备上安装应用程序时,该值也会发生变化。

The value in this property remains the same while the app (or another app from the same vendor) is installed on the iOS device. The value changes when the user deletes all of that vendor’s apps from the device and subsequently reinstalls one or more of them. The value can also change when installing test builds using Xcode or when installing an app on a device using ad-hoc distribution.

这篇关于测试更新时的TestFlight警报:您已安装此应用程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆