在 iOS 13 月 14 日删除应用程序时,UserDefaults 是否被擦除?

Are UserDefaults wiped when deleting an app on iOS 13/14?

当我在没有任何其他框架的情况下使用纯 UserDefaults 并且在 NSUbiquitousKeyValueStore 中使用 而不是 时,从phone 并在重新安装该应用后从 iCloud 恢复?

我在文档中了解到,通常 UserDefaults 包含在 (iCloud) 备份中。因此,如果用户安装该应用程序,该应用程序随后会存储一些 UserDefaults,用户进行 iCloud 备份,然后从该备份中恢复 phone,UserDefaults 应该会再次存在。

但是,如果用户故意从他们的 phone 中删除我的应用程序,然后从商店重新安装它,UserDefaults 是否仍然存在(从 iCloud 恢复),或者它们是否随着应用程序删除和不回来重新安装?

用户是否必须从 iCloud 设置应用程序中额外删除我的应用程序的 iCloud 数据以摆脱 UserDefaults,或者它是否与删除应用程序(不移动到应用程序库)一起出现?

我基本上想在用户从 phone 中删除应用程序后从零开始。

iOS 13 和 iOS 14 有区别吗?

从设备中删除应用程序后,与该应用程序关联的所有本地数据也将被删除。这包括 NSUserDefaults。但是,在线服务中存储的任何数据都不会。例如,iCloud。如果用户/开发人员要求,应用程序将再次获取数据。

我之前遇到过一个问题,当用户删除我的应用程序时 UserDefaults 被删除。因此,仅出于教育目的,如果您不想丢失数据,并且不想在线存储数据,请考虑使用 Keychain.

有关详细信息,您可以在此处找到:Keychain