iPhone:使用Documents文件夹中的“不备份”标志创建文件的排序问题?

时间:2012-05-11 16:36:40

标签: iphone backup icloud

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

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

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

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

我已经向苹果评论员询问了这个问题,但尚未收到答案。我可以简单地尝试不同的序列,看看在重新审核中会发生什么,但我更愿意知道我应该做什么并做到这一点,而不是猜测问题是什么,然后在黑暗中拍摄。

那么有没有人知道一种肯定的“苹果批准”方式将捆绑包中的(数据库)文件复制到Documents目录并设置“不备份”标志?任何人都可以解释任何类似的拒绝以及他们为取悦评论者做了些什么吗?

1 个答案:

答案 0 :(得分:0)

获得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设备。