苹果IOS5,ios5以上是什么意思

  苹果IOS5,ios5以上是什么意思

  1.缓存和临时文件夹的语义问题

  虽然Apple Apps使用的临时文件夹和目录中的/tmp不是同一个文件夹,但是开发者应该不会认为两者有什么显著的区别。都是临时文件夹,所以性质相同。如果你有OS X、Unix或Linux的背景,你应该能理解苹果其实没有义务向用户保证缓存和临时文件会持续多久。

  就算你之前没听说过临时文件夹和缓存文件夹的内容会被系统删除的情况,也不代表以后这种情况会有所改善,尤其是苹果在文件中已经写明了这些。

  2.Apple相关文档的更改

  最迟在2011年6月29日,iOS发布之前,苹果的文件(在web.archive.org存档,被墙挡住了)涉及Application_Home /Documents的部分描述如下:

  使用此目录存储用户文档和应用程序数据文件。

  使用此文件夹存储用户文件和应用程序数据文件。

  这个解释挺好理解的,很清楚的解释了为什么开发者对iOS 5中文件目录规则的改变不满意。

  关于application _ home/library/caches的描述如下:

  使用此目录来编写您希望在应用程序启动之间或应用程序更新期间保留的任何特定于应用程序的支持文件。您的应用程序通常负责添加和移除这些文件。它还应该能够根据需要重新创建这些文件,因为iTunes会在设备的完全恢复过程中删除这些文件。

  使用此文件夹写入应用程序在运行和更新期间需要的任何文件。您的应用程序必须负责添加和删除这些文件。而且这些文件应该是可以重建的,因为iTunes在恢复设备备份时会删除这些文件。

  这一段的措辞不可否认地含糊不清。在看这个描述的时候,我的第一印象是苹果在iOS 5中实施了一些与这个条款相矛盾的根本性改变。但另一方面,通过“一般”和“能够重新创建”这样的字眼,很明显苹果基本上是在警告开发者系统会如何对待这些文件。

  ICloud数据存储指南(需要登录才能查看)对此进行了说明:

  为确保尽可能高效地进行备份,请确保根据以下准则存储您的应用数据:

  1.只有用户生成的或您的应用程序无法重新创建的文稿和其他数据才应储存在Application_Home /Documents目录中,并将由iCloud自动备份。

  2.可以再次下载或重新生成的数据应该存储在Application _ Home/Library/Caches目录中。应该放在缓存目录中的文件示例包括数据库缓存文件和可下载内容,例如杂志、报纸和地图应用程序使用的内容。

  3.仅临时使用的数据应该存储在Application_Home /tmp目录中。虽然这些文件不会备份到iCloud,但请记住在您处理完这些文件后删除它们,以免它们继续占用用户设备上的空间。

  译者:为了保证数据备份的可能性和有效性,请确保您的申请数据符合以下规则:

  1.只有用户生成的文件、其他数据和其他程序无法重新创建的文件才应保存在Application_Home /Documents目录下,并将由iCloud自动备份。

  2.可以重新下载或重新生成的数据应该保存在application _ home/library/caches目录中。例如,杂志、新闻和地图应用程序使用的数据库缓存文件和可下载内容应保存在该文件夹中。

  3.仅临时使用的数据应保存到Application_Home /tmp文件夹中。虽然iCloud不会备份这些文件,但是你要注意在应用使用完之后,随时删除这些数据,以免占用用户设备的空间。

  如果我们暂时忘记许多新闻、杂志和地图应用的唯一目的是显示线下内容的事实,上述术语就相当清楚和有意义了。

  3.申请审核被拒绝。

  最近开发者多次回应,在Documents文件夹中存储“任何/一些/很多”(任何/一些/很多)数据的应用被苹果的应用审查团队拒绝。但是,一些开发人员已经成功地向应用程序审核团队解释了他们的应用程序存储文件的原理,并表明他们的应用程序完全符合开发规则。

  现在看来,苹果的应用审查团队还不能完全确定哪些存储在哪些文件夹中的数据是用户生成的,哪些数据可以重新下载重新生成。

  4.4.iTunes和iCloud备份了什么?

  将备份应用程序文件夹中的所有内容,除了:

  应用程序本身捆绑包(。app)

  应用程序_Home /tmp

  应用程序_主目录/库/缓存目录

  这一点在iCloud数据存储指南中有明确规定。

  其他文件明确说明应用支持文件夹也会被iTunes备份。在讨论过程中,一些开发人员建议应用程序支持文件夹应该比缓存文件夹更安全(更耐用)。在我看来,自从推出iCloud storage之后,苹果的应用审查团队将会重点关注那些需要在Documents文件夹中存储大量应用支持文件的应用。

  5.5.iOS 5的行为变化

  在iOS 5设备中,当用户收到存储空间不足的警告时,如果此时应用没有运行,应用的application _ home/library/caches文件夹中的数据将被清空。

  这意味着在iOS 5中,应用程序将不会有任何文件夹来存储以下文件:

  没有文件备份到iTunes/iCloud。

  删除不危险的文件。

  很明显,iOS 5.0现在不可能给开发者一个文件夹来存储文件,但是如果有足够多的开发者向苹果表明他们确实需要这样一个文件夹来存储一些数据,我想未来的版本可能会有改进。

  给开发者的建议:赶紧给苹果提交bug报告!

  作者:Our4.org,原文链接。

苹果IOS5,ios5以上是什么意思