【问题标题】:App Storing Data in iCloud应用程序在 iCloud 中存储数据
【发布时间】:2016-08-07 04:39:42
【问题描述】:

我向 App Store 提交了我的应用更新以供批准,显然我在用户的 iCloud 上存储了 6.47 MB​​。

我不知道这可能来自什么,所以我需要一些帮助。

这是我从 Apple 收到的消息:来自 Apple 0. 3.0 提交之前:ICLOUD 提交之前

在启动和下载内容时,您的应用会在用户的 iCloud 上存储 6.47MB,这不符合 iOS 数据存储指南。

我的应用程序上的 iCloud 属性是:键值存储和 CloudKit。我使用 CloudKit 来存储 App 信息并在启动时从云端下载。我在本地保存信息,我很确定。

关于这可能来自什么的任何建议?

这是我的保存功能:

func saveFacts() {
    let isSuccessfulSave = NSKeyedArchiver.archiveRootObject(birdFacts, toFile: BirdFact.ArchiveURL.path!)
    if !isSuccessfulSave {
        print("Failed to save bird facts")
    }
    else {
        print("saved bird facts")
    }
}

【问题讨论】:

  • 您存储在私有 Cloudkit 数据库中的内容大概没有这个大小?您在启动时从 CloudKit 下载什么类型的内容,以及如何在本地存储这些内容?
  • 我正在下载很多“事实”。每个事实都包含几个字符串、一张图片和一个 NSDate。
  • 在本地存储方面,我使用 NSCoding 保存事实
  • 你对 NSCoding 结果做了什么——保存到文件中?如果是这样,我怀疑这是您的问题,因为这些文件可能会作为用户数据备份到 iCloud,而图像是主要的内存消耗。
  • 是的,这就是我的意图。我在原始问题中添加了保存内容的功能

标签: ios swift xcode cloudkit


【解决方案1】:

如果您将信息存储在本地文件中,它们可能需要备份到用户的 iCloud,这可能是来源。

您可以通过将它们移动到沙箱中的不同位置或使用 NSURLIsExcludedFromBackupKey 属性来避免它们被备份。

Make App Backups More Efficient (Apple)

Objectice C 和 Swift 中使用 NSURLIsExcludedFromBackupKey 的示例代码参见How do I prevent files from being backed up to iCloud and iTunes?(Apple)

【讨论】:

  • 如何将该属性添加到我正在保存的内容中?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-16
  • 2011-12-01
  • 1970-01-01
  • 2017-01-27
  • 1970-01-01
相关资源
最近更新 更多