ios - 在 iOS 13/14 上删除应用程序时是否会擦除 UserDefaults?
问题描述
当我在UserDefaults
没有任何其他框架且不使用的情况下使用 plain 时NSUbiquitousKeyValueStore
,从手机中删除应用程序后 UserDefaults 是否会保留在 iCloud 中,并在重新安装该应用程序时从 iCloud 恢复?
我在文档中阅读了通常 UserDefaults 包含在(iCloud)备份中的文档。因此,如果用户安装了该应用程序,该应用程序随后会存储一些 UserDefaults,用户进行 iCloud 备份,然后从该备份恢复手机,UserDefaults 应该会再次出现。
但是,如果用户故意从他们的手机中删除我的应用程序,然后从商店重新安装它,UserDefaults 是否仍然存在(从 iCloud 恢复),或者它们是否会随着应用程序的删除而消失而不是重新安装?
用户是否必须另外从 iCloud 设置应用程序中删除我的应用程序的 iCloud 数据才能摆脱 UserDefaults 还是删除应用程序(不移动到应用程序库)?
在用户从手机中删除应用程序后,我基本上想从零开始。
这在 iOS 13 和 iOS 14 之间有什么不同吗?
解决方案
从设备中删除应用程序后,与该应用程序关联的所有本地数据也将被删除。这包括NSUserDefaults
. 但是,存储在在线服务中的任何数据都不会。例如,iCloud。如果用户/开发人员要求,该应用程序将再次获取数据。
当用户删除我的应用程序时,我在哪里UserDefaults
被删除之前遇到了问题。因此,仅出于教育目的,如果您不想丢失数据,也不想在线存储数据,请考虑使用Keychain
.
有关更多信息,您可以在此处找到它:钥匙串
推荐阅读
- curl - 使用 certpath 初始化 NSS:sql:/etc/pki/nssdb 错误
- firebase - Kotlin suspendCancellableCoroutine 返回集合
- java - “Java Runtime Environment 检测到致命错误:”在 JDK eclipse 上运行 Java Project 时
- php - 在 PHP Linux Azure Web App 中,$_SERVER['REQUEST_METHOD'] 始终设置为 GET,即使 POST、PATCH、DELETE 等请求是通过 Postman 发出的
- excel - 如何删除列中的重复值但仅在 VBA 中的空行之间?
- tensorflow - 在 TF2.x 中使用 tf.while_loop 的第二个梯度返回 None
- android - 房间 Android 中的日期转换器
- excel - 当提供的值在其限制范围内时,字节数据类型出现溢出错误
- r - How to put expression in ggplot title/label/legend from character vector?
- c++ - 如何创建无效的 QModelIndex?