用户报告说,当他们从iCloud(而不是iTunes)备份恢复设备时,我的应用程序的数据不会恢复。我不清楚我需要采取哪些步骤来确保在从iCloud备份恢复整个设备时恢复我的应用数据。
我没有在应用功能中启用iCloud;这是我需要采取哪些步骤来确保我的数据包含在还原中?我需要采取的其他步骤和需要检查的事项是什么?
更多信息: 我有一个Core Data应用程序并存储.sqlite文件。我将我的文件存储在[[UIApplication sharedDelegate] applicationDocumentsDirectory]中。我使用NSUserDefaults。我的应用程序不会出现在“设置”中的任何iCloud列表中。
答案 0 :(得分:1)
您不必包含iCloud功能。 iCloud自动备份保存到DocumentsDirectory
的内容,并保存NSUserDefaults
。
请记住,对于那些不希望包含在iCloud中的数据,您必须添加- (BOOL)addSkipBackupAttributeToItemAtPath:(NSString *) filePathString
标记。 Apple对此备份非常严格,您必须仅保存用户生成的内容,否则应用将被拒绝。
重要提示:应用应避免混淆应用数据和用户数据 同一个文件。这样做会不必要地增加备份大小,并且可以 被视为违反iOS数据存储指南。
要检查您的应用在iCloud Backup中使用了多少空间(并确定您的数据是否已保存),您可以在此处查看:
- Install and launch your app
- Go to Settings > iCloud > Storage > Manage Storage
- Select your device
- If necessary, tap "Show all apps"
- Check your app's storage
如果你知道你的应用应该存储更大的数据,你会看到那里,但请注意,100-150kb以下的数据来自NSUserDefaults
如果您有更多问题,请与我们联系。