gpt4 book ai didi

ios - 测试更新时的 TestFlight 警报 : You already have this app installed

转载 作者:IT王子 更新时间:2023-10-29 08:11:47 24 4
gpt4 key购买 nike

我正在尝试使用 TestFlight 测试从实时 App Store 应用程序构建到 RC 的更新场景,但 TestFlight 提醒我“你已经安装了这个应用程序。你想替换......”(见下面的截图)。确认后,App Store版本的所有数据都没有了。

enter image description here

我做的步骤:

  1. 从 App Store 安装实时应用
  2. 登录并进行一些操作以获取应用程序和钥匙串(keychain)中的数据
  3. 转到 TestFlight iOS 应用
  4. 点击 TestFlight 中的“安装”按钮 -> 出现警告“您已经安装了此应用”
  5. 如果我点击选择安装,就会安装新版本

结果:

  • 当我再次打开该应用时,该应用的内容包括共享容器(与扩展程序共享的数据)和钥匙串(keychain)都被完全删除

编辑:TestFlight 中的警报出现在任何应用程序中(我尝试了来自不同开发帐户的多个不同应用程序)。实际的数据删除仅对某些人发生。

我的问题:

这是 TestFlight 的预期行为还是我的应用有任何问题?我不知道版本之间的任何更改可能会导致任何问题。

我相信这以前没有发生过(我最后一次尝试是几周前)。

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

有人遇到过同样的问题吗?或者您知道描述此行为的任何资源吗?

感谢您的回答!

最佳答案

经过长时间的研究、试验和错误,创建雷达并发布 App Store 更新,我有一个答案:

警报始终存在,与丢失数据无关。

  • 对于通过非 TestFlight 构建从 TestFlight 安装的任何应用程序,始终显示警告可能丢失数据的警报。
  • 我尝试过的多个应用中的任何一个都是如此。

identifierForVendor 在使用 TestFlight 构建覆盖应用时发生变化。

  • 当您安装 App Store 版本的应用程序并使用 TestFlight 的构建覆盖它时,[[UIDevice currentDevice] identifierForVendor] 的结果会发生变化
  • 这是出乎意料的,因为它没有在文档中提及(见下文)
  • 在我的案例中,identifierForVendor 的意外更改导致“数据丢失”,这并不是真正的数据丢失,但它只发生在您无法调试的 TestFlight 构建中,因此很难找到问题。

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

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.

关于ios - 测试更新时的 TestFlight 警报 : You already have this app installed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33539534/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com