【问题标题】:App data is not restored when device is restored via iCloud Backup通过 iCloud Backup 恢复设备时,应用程序数据未恢复
【发布时间】:2015-11-05 21:02:59
【问题描述】:

用户报告说,当他们从 iCloud(而不是 iTunes)备份恢复设备时,我的应用程序的数据没有恢复。我不清楚我需要采取哪些步骤来确保在从 iCloud 备份恢复整个设备时恢复我的应用数据。

我没有在应用功能中启用 iCloud;这是我需要采取的步骤之一以确保我的数据包含在还原中吗?我还需要采取哪些其他步骤以及需要检查哪些事项?

更多信息: 我有一个 Core Data 应用程序并存储一个 .sqlite 文件。我将文件存储在 [[UIApplication sharedDelegate] applicationDocumentsDirectory] ​​中。我使用 NSUserDefaults。我的应用没有出现在设置中的任何 iCloud 列表中。

【问题讨论】:

    标签: ios backup app-store-connect icloud restore


    【解决方案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

    如果您还有其他问题,请告诉我。

    【讨论】:

    • 我想我明白你在回答的第一部分所说的话。我的应用程序没有出现在我的 iCloud 备份列表中(我真的不使用 iCloud 备份,尽管您在上面描述的列表中有一些应用程序,不包括我的)。
    • @SAHM 您在您的应用程序中没有使用一个 NSUserDefault 吗?试着只放一个,看看你的应用是否出现。你能告诉我你的应用是做什么的吗?
    • 我不明白你的问题。我有一个核心数据应用程序。我将文件存储在 [[UIApplication sharedDelegate] applicationDocumentsDirectory] ​​中。我使用 NSUserDefaults。我的应用没有出现在 iCloud 的任何列表中。
    • 好的。我的设备没有出现在“管理存储”下,因为我没有进行任何备份。一旦我增加了我的 iCloud 存储并进行了备份,我选择了我的设备,显示了所有应用程序,然后找到了我的应用程序。我猜报告问题的用户未选中该应用程序,或者他们的备份/恢复存在其他问题。谢谢!
    猜你喜欢
    • 2016-07-18
    • 1970-01-01
    • 2015-05-14
    • 2016-01-19
    • 2022-12-01
    • 2015-07-30
    • 2014-01-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多