我的应用程序因未将"不备份"属性设置为我使用的两个内部文件(并存储在/Documents中)而被拒绝。我已经设置了属性,它不再备份这些文件(~11.5MB)。
不过,它仍在备份一些28kb的数据。我从/Documents文件夹中删除了所有数据,并将它们放在/tmp中,只是为了确保Documents中的任何内容都不可能备份。更改后,我验证了我的应用程序的/Documents为空,但iCloud设法找到了28kb的数据进行备份。
如何确定这些数据的确切内容以防止备份?我不想再次被拒绝,所以我想验证该应用程序在iCloud上是否占用了0kb的备份存储空间。
感谢
这是拒绝通知:
2.23
我们发现您的应用程序不遵循iOS数据存储指南,根据App Store审查指南要求。
特别是,我们发现在发布时,您的应用程序存储11.53 MB。到检查你的应用程序存储了多少数据:
- 安装并启动您的应用程序
- 前往"设置">"iCloud">"存储和amp;备份>管理存储
- 如有必要,点击"显示所有应用程序"
- 检查应用程序的存储
iOS数据存储指南指出用户使用您的应用程序创建,例如文档、新文件、编辑等。,可以存储在/Documents目录中,并由iCloud进行备份。
应用程序使用的临时文件应仅存储在/tmp中目录请记住删除存储在此位置的文件当用户退出应用程序时。
可以重新创建但必须持久化才能正常运行的数据你的应用程序-或者因为客户希望它可以离线使用use-应标记为"不备份"属性。对于NSURL对象,添加NSURLIsExcludedFromBackupKey属性以防止相应的文件无法备份。对于CFURLRef对象,使用相应的kCFURLIsExcludedFromBackupKey属性。
有关更多信息,请参阅技术问答;A 1719:我该如何预防文件无法备份到iCloud和iTunes?。
有必要修改您的应用程序以满足iOS的要求数据存储指南。对于离散代码级别的问题,您可以希望咨询苹果开发者技术支持。请确定准备任何符号化的崩溃日志、屏幕截图或步骤再现DTS工程师跟进时的问题。对于有关如何符号化和读取崩溃日志的信息,请参阅技术说明TN2151了解和分析iPhone操作系统应用程序碰撞报告。
事实证明,预编译的Google Analytics库在/library目录中保留了一个名为goocollectalytics.sql的小型数据库。一旦我发现了这一点,我就将该文件的标志设置为"不备份",结果成功了:我得到了0kb的备份。
28k可能只是目录结构和Apple记账。为了确保安全,请将您的设备连接到Xcode管理器,并将文档目录下载到硬盘驱动器以查看。