【发布时间】:2012-06-24 10:56:40
【问题描述】:
由于违反指南,Apple 测试人员已拒绝我们的应用:
[2.23 应用程序必须遵循 iOS 数据存储指南,否则将被拒绝]
由于我们存储的数据库文件没有 NSURLIsExcludedFromBackupKey 标志 - 它已备份在 iCloud 中 - 并导致拒绝。
因此,我们在文件中添加了NSURLIsExcludedFromBackupKey 标志,它减少了存储在 iCloud 中的数据量。
但是 - 我们意识到 NSUserDefaults 也会占用 iCloud 中的一些空间。
我们正在使用[NSUserDefaults standardUserDefaults],但我们无法控制它。
如果我们转到 device->settings->iCloud->Storage 和 BackUP->Manage Storage,我们可以看到我们的应用仍然在 iCloud 中占用了 0.5 kb 的数据,因为使用了 NSUserDefaults。
(删除代码中 NSUserDefaults 的使用会将其减少为 0 - 无数据)
Apple 会再次拒绝我们的应用,因为 NSUserDefaults 会在 iCloud 中获取数据吗?
【问题讨论】:
-
不,预计应用程序将使用
NSUserDefaults,您的其他文件占用了多少空间以及它们存储在哪里? -
应用使用了 2.4 MB 的空间。现在它需要 0.4kb 到 0.8kb 之间。
-
我现在可以在代码中看到一条警告:警告:复制捆绑资源构建阶段包含此目标的 Donno-Info.plist 文件“Donno-Info.plist”。我看到它从包中复制了 plist。我们已经通过这种方式将应用程序发送给 Apple,您认为他们会因此拒绝该应用程序吗? (它可能会使 NSUserDefaults 空间量翻倍)..
-
在将我们的应用程序发送到 Apple 审核后,我们意识到代码中有以下警告:“警告:复制捆绑资源构建阶段包含此目标的 Donno-Info.plist 文件... " 因为它实际上可能会使 plist 文件翻倍,苹果会因为在 iCloud 中使用不必要的空间而拒绝该应用程序吗? (我们第一次因为没有 DO_NOT_BACKUP 标志存储我们的数据库文件而被拒绝)谢谢。
-
您的主 plist 文件不应位于副本包资源中。
标签: ios objective-c app-store appstore-approval