为什么这个应用被拒绝了?

4
苹果拒绝了这个应用,并在解决方案中提供了详细的解释,但我不确定原因。能否有人帮我翻译一下?
我们发现您的应用程序不遵循iOS数据存储指南,这是App Store审核指南所要求的。特别地,在启动和/或内容下载时,您的应用会存储下载的媒体(MP3文件)。检查应用程序存储数据的量,请按照以下步骤操作:安装并启动您的应用程序;进入“设置”>“iCloud”>“存储与备份”>“管理存储空间”;如有必要,请点击“显示所有应用程序”;检查您的应用程序的存储空间。
iOS数据存储指南指出,只有用户使用您的应用程序创建的内容(例如文档、新文件、编辑等)可以存储在/Documents目录中,并由iCloud备份。您的应用程序使用的临时文件应仅存储在/tmp目录中;请记得在用户退出应用程序时删除存储在该位置的文件。
必须保持功能正常的数据 - 或因客户希望其可离线使用而必须持久存在的数据 - 应标记为“不备份”。对于NSURL对象,请添加NSURLIsExcludedFromBackupKey属性以防止相应文件被备份。对于CFURLRef对象,请使用相应的kCFURLIsExcludedFromBackupKey属性。
有关更多信息,请参见技术问答1719:“如何防止文件备份到iCloud和iTunes?”必须修改您的应用程序以满足iOS数据存储指南的要求。对于离散的代码级问题,您可能希望与Apple开发人员技术支持联系。请务必:
- 包括您的拒绝问题的完整详细信息 - 为DTS工程师跟进问题准备好任何符号化的崩溃日志、屏幕截图和复现问题的步骤。
有关如何符号化和阅读崩溃日志的信息,请参见技术说明TN2151:“理解和分析iPhone OS应用程序崩溃报告”。如果您无法重现此问题,请尝试按照Xcode的归档功能中描述的https://developer.apple.com/library/ios/qa/qa1764/Testing Workflow进行测试。

8
你不明白什么? - robert
2个回答

11
iOS数据存储指南表明,仅允许将用户使用您的应用程序创建的内容(例如文档、新文件、编辑等)存储在/Documents目录中,并由iCloud备份。 应用程序使用的临时文件应仅存储在/tmp目录中;请在用户退出应用程序时记得删除存储在此位置的文件。 必须重建但必须保持正常运行应用程序或因客户期望它可以离线使用的数据,应标记为“不进行备份”的属性。对于NSURL对象,请添加NSURLIsExcludedFromBackupKey属性以防止对应的文件进行备份。对于CFURLRef对象,请使用相应的kCFURLIsExcludedFromBackupKey属性。 这就告诉你他们认为问题所在。显然,您正在存储iCloud备份的非用户自己创建的数据,而没有告诉iCloud不要备份它。(iCloud只应备份用户创建的数据。)

1
对我来说似乎很简单。 - Kristian
用户告诉应用程序下载到他们手机上的mp3不算作用户创建的数据吗? - user717452
不可以,因为MP3文件并非由该应用程序创建。它是由艺术家(或将音乐录制为MP3格式的人)创建的;你的应用程序只是从互联网上获取了它。 - Jim Dagg
以前从未听说过这个,而且在过去一个月中我提交了另外两个应用程序,都通过了审核,它们都做了完全相同的事情。所以,现在我们不再将文件保存到“文档”目录(开发人员一直被告知要这样做),而是必须将其存储在“缓存”目录中?这些目录会在应用程序更新时被替换吗? - user717452
1
只有用户生成的文档和其他数据,或者无法通过应用程序重新创建的数据,才应存储在<Application_Home>/Documents目录中,并将自动备份到iCloud中。(来自iDSG - CodaFi
显示剩余8条评论

3

我认为你可以使用这里的指南,但这仅支持iOS5.0.1、5.1或更高版本。对于iOS 5.0,你需要将数据存储在缓存中,这意味着由于更新而丢失数据。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接