在iOS 13/14上删除应用程序时是否删除用户默认值?

在iOS 13/14上删除应用程序时是否删除用户默认值?,ios,swift,icloud,Ios,Swift,Icloud,当我使用纯UserDefaults而不使用任何其他框架且不使用NSUbiquitousKeyValueStore时,从手机中删除应用程序后,UserDefaults是否会保留在iCloud中,并在重新安装该应用程序后从iCloud恢复 我在文档中读到,(iCloud)备份中通常包括用户默认值。因此,如果用户安装了应用程序,应用程序会存储一些UserDefaults,用户会进行iCloud备份,然后从备份中恢复手机,UserDefaults应该会再次出现 但是,如果用户故意从手机中删除我的应用程序

当我使用纯
UserDefaults
而不使用任何其他框架且不使用
NSUbiquitousKeyValueStore
时,从手机中删除应用程序后,UserDefaults是否会保留在iCloud中,并在重新安装该应用程序后从iCloud恢复

我在文档中读到,(iCloud)备份中通常包括用户默认值。因此,如果用户安装了应用程序,应用程序会存储一些UserDefaults,用户会进行iCloud备份,然后从备份中恢复手机,UserDefaults应该会再次出现

但是,如果用户故意从手机中删除我的应用程序,然后从应用商店重新安装,那么用户默认值是否仍然存在(从iCloud恢复),或者删除应用程序后他们会消失,而不会重新安装

用户是否需要从iCloud设置应用程序中额外删除我的应用程序的iCloud数据以消除用户默认值,或者删除应用程序时是否附带此功能(不移动到应用程序库)

我基本上希望在用户从手机上删除应用程序后从零开始


iOS 13和iOS 14之间是否存在差异?

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

我以前遇到过一个问题,当用户删除我的应用程序时,
UserDefaults
会被删除。因此,为了教育目的,如果你不想丢失数据,也不想在线存储数据,请考虑使用<代码>密钥链< /代码>。
有关更多信息,请参见此处:

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

我以前遇到过一个问题,当用户删除我的应用程序时,
UserDefaults
会被删除。因此,为了教育目的,如果你不想丢失数据,也不想在线存储数据,请考虑使用<代码>密钥链< /代码>。
有关更多信息,请参见此处:

如果我是你,我会亲自测试,而不是听你从未见过的人说话。如果我是你,我会亲自测试,而不是听你从未见过的人说话。在这种情况下,我确实希望数据丢失。我在我的应用程序中验证了这一点:在iOS 14上删除应用程序(实际删除,而不是应用程序库)会清除用户默认值,而在删除并重新安装应用程序后,密钥链数据仍然存在。在这种情况下,我确实希望数据丢失。我在我的应用程序中验证了这一点:删除应用程序(实际删除,而不是应用程序库)在iOS 14上,会清除用户默认值,而在删除并重新安装应用程序后,密钥链数据仍然存在。