如何防止应用程序备份到 iCloud

Posted

技术标签:

【中文标题】如何防止应用程序备份到 iCloud【英文标题】:How to prevent app from getting backed up to iCloud 【发布时间】:2012-01-31 22:52:37 【问题描述】:

我在让应用被 App Store 接受时遇到了一些问题。据Apple称,问题在于数据库正在备份到iCloud,尽管我试图通过将数据库文件的skipBackupFlag设置为YES per Apples documantation来防止这种情况发生。

我可能做错了什么,所以我想在重新提交应用程序之前检查一下。请注意,我将数据库存储在 NSLibrary 目录中,并将我的包标识符附加为子目录,因此实际目录是这样的:

/var/mobile/Applications/DA9AF74B-3735-4325-BE87-F4D3003AD205/Library/com.mycompany.myapp/my.db:

作为检查,在我的 iPod 上,我转到“设置”、“iCloud 存储和备份”、“管理存储”、“显示所有应用程序”,但我的应用程序显示为只有 1.3 kb。根据 Apple 的说法,它为 iCloud 提供了超过 7mb 的备份,因此对他们来说,备份包括数据库文件。

另外一个问题(如果我无法弄清楚如何测试skipBackupFlag) - 将数据库文件的skipBackupFlag 设置为YES 是否足够,或者是否也应该设置目录的skipBackupFlag?

【问题讨论】:

【参考方案1】:

我从来没有弄清楚如何测试skipBackupFlag,但我很确定我设置不正确。一旦我修补了它,该应用程序就被接受了。数据没有得到备份,它存储在 NSDirectory 中。

【讨论】:

我真的不明白这个“钥匙”是如何工作的。一旦我使用“-(BOOL)setSourceValue:forKey:”方法设置了“NSURLIsExcludedFromBackupKey”键,我没有收到任何错误并且 BOOL 为 YES,我应该可以吗? 顺便说一句,我刚刚找到了一种方法来测试是否设置了标志(在 iPhone 模拟器中)!您应该打开终端并 cd 到包含该文件的文件夹并执行以下命令:ls -al -@

以上是关于如何防止应用程序备份到 iCloud的主要内容,如果未能解决你的问题,请参考以下文章

iOS7.0防止数据库(核心数据)同步到iCloud和备份到iTunes

Phonegap-iOS 防止 iCloud 上的 Documents 文件夹备份

iOS 阻止文件备份到 iCloud

IOS - iCloud中的核心数据备份

用于 zip 文件和 iCloud 数据备份的 Md5

如何清除/删除 iCloud 备份数据?