【问题标题】:iPhone: Sequencing issue with creating file with "do not back-up" flag in Documents folder?iPhone:在 Documents 文件夹中创建带有“不备份”标志的文件的排序问题?
【发布时间】:2012-05-20 06:48:55
【问题描述】:

我们的应用程序根据 Apple 的要求设置了“不备份”标志。或者至少我们是这么认为的。最近的提交已被拒绝,因为审阅者发现了一个没有设置标志的文件。我们测试、重新测试和再次测试,发现我们所有的文件都是使用“不备份”标志创建的。嗯!

这不是我们第一个使用相同代码库的应用程序。我们已经让许多其他人顺利通过,甚至最近也没有问题。

那么可能是排序问题吗?我们正在从下载包中复制一个数据库文件,用作应用程序的起始内容;然后,随着用户获得更多数据,此内容会更新。初始数据库文件可能很大 - 大至 2MB - 取决于应用程序。我们在 Documents 文件夹中打开一个新文件,将数据库内容复制到新文件中,关闭它,然后设置“不备份”标志。

我们是否应该创建一个空文件,然后立即设置“不备份”标志,然后再打开它以使用捆绑包中的数据库内容覆盖空文件?

我已向 Apple 审阅者询问了这个问题,但尚未收到答复。我可以简单地尝试不同的顺序,看看在重新审查中会发生什么,但我更愿意知道我应该做什么并去做,而不是猜测问题是什么并在黑暗中拍摄。

那么,有没有人知道一种可靠的“Apple 批准”方法将(数据库)文件从捆绑包复制到 Documents 目录并设置“不备份”标志?谁能阐明任何类似的拒绝以及他们做了什么来取悦审稿人?

【问题讨论】:

    标签: iphone backup icloud


    【解决方案1】:

    获得 Tumbleweed 徽章(= 这是一个无聊的问题)这里有一些信息可以回答它....

    设置“不备份”标志的方式在 5.0.1 和 5.1 之间发生了变化。 release notes for iOS 5.1 SDK 在“备份”下有以下条目

    iOS 5.1 引入了一个新的 API 来标记不应备份的文件或目录。对于 NSURL 对象,添加 NSURLIsExcludedFromBackupKey 属性以防止相应文件被备份。对于 CFURLRef 对象,使用相应的 kCFURLIsExcludedFromBackupKey 属性。 在 iOS 5.1 及更高版本上运行的应用程序必须使用更新的属性,而不是直接添加 com.apple.MobileBackup 扩展属性,如前所述。 com.apple.MobileBackup 扩展属性已弃用,未来版本可能会移除对它的支持。

    请注意,iCloud 是在 iOS 5.01 中引入的,而这一变化是在 5.1 中引入的,这意味着应用程序必须适应设备上运行的 iOS 特定版本。我们的一位开发人员发现了以下Gist for code that handles pre- and post- iOS 5.1 设备。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多