苹果放宽了 iOS 5.0 对应用本地存储的限制
iOS5.0引入了iCloud,让那些需要本地存储较多数据的app开发者(比如支持离线的杂志,新闻类app)陷入了 尴尬的境地,因为将大量数据存储在/Documents 文件夹将导致iCloud同步变的缓慢,影响用户体验,且影响用户的存储空间,基于此种考虑,苹果审核团队开始拒绝这样的app,苹果给出的建议是:
1.只有用户生成的文件、其他数据及其他程序不能重新创建的文件,应该保存在<Application_Home>/Documents 目录下面,并将通过iCloud自动备份。
2.可以重新下载或者重新生成的数据应该保存在 <Application_Home>/Library/Caches 目录下面。举个例子,比如杂志、新闻、地图应用使用的数据库缓存文件和可下载内容应该保存到这个文件夹。
3.只是临时使用的数据应该保存到 <Application_Home>/tmp 文件夹。尽管 iCloud 不会备份这些文件,但在应用在使用完这些数据之后要注意随时删除,避免占用用户设备的空间。
但
在 iOS 5 设备中,存储空间警告时,如果此时应用没有运行,那么该应用的
<Application_Home>/Library/Caches文件夹中的数据将被清空。这样开发者将没有可以持久的存储数据的文件夹
了,怎么办?到apple楼下集 会抗议?。。。提交漏洞报告吧
终于,苹果在此次ios5.0.1的版本中做出了让步,引入
了"do not back up" attribute,为了那些files that shouldremain on device, even
in low storage
situations.(即使在低内存时也不会丢失的文件,而之前的/Library/Caches在低内存时文件是会被丢弃的)
怎么实现?
当你想将文档指定为“do not back up”时候,在你的类中添加下面的函数,记得#include <sys/xattr.h>
- (void) AddSkipBackupAttributeToFile: (NSURL*) url //文件的URL
{ u_int8_t b = 1;
setxattr([[url path] fileSystemRepresentation], "com.apple.MobileBackup", &b, 1, 0, 0);
}
搞掂,支持离线的app开发者们有福了...
苹果放宽了 iOS 5.0 对应用本地存储的限制的更多相关文章
- iOS开发查看手机app本地存储的文件
开发过程中,有时会在本地存储一些文件,但是我们不确定有没有存上,可以通过以下方法来查看测试手机上本地存储的文件: 1.选择xcode上面的window下面的Devices 2.先在左边选中你当前的设备 ...
- iOS 10.0之前和之后的Local Notification有神马不同
在iOS 10.0之前apple还没有将通知功能单独拿出来自成一系.而从10.0开始原来的本地通知仍然可用,只是被标记为过时.于是乎我们可以使用10.0全新的通知功能.别急-让我们慢慢来,先从iOS ...
- 【腾讯Bugly干货分享】聊聊苹果的Bug - iOS 10 nano_free Crash
本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/hnwj24xqrtOhcjEt_TaQ9w 作者:张 ...
- iOS 7.0获取iphone UDID 【转】
iOS 7.0 iOS 7中苹果再一次无情的封杀mac地址,使用之前的方法获取到的mac地址全部都变成了02:00:00:00:00:00.有问题总的解决啊,于是四处查资料,终于有了思路是否可以使用K ...
- iOS 8.0正式公布啦
从昨晚開始,苹果新版移动操作系统iOS 8.0開始提供免费下载服务.新版操作系统提供有数百个新功能,当中包含相机功能中添加了延时摄影模式,能够使用其它厂商开发的输入法.购买的App应用程序能够与最多6 ...
- 熊猫猪新系统測试之三:iOS 8.0.2
本来本猫要等到8.1版本号出来后再做測试的,结果等来等去就是迟迟不推送更新呀!说好10月20号的iOS 8.1呢?为了一鼓作气写完,就先不等了.先拿手头的iOS 8.0.2系统做一下測试吧! 8.x系 ...
- [ios2]苹果iOS 5限制应用本地存储问题 【转】
苹果 iOS 5 系统增加了一个新的机制——在设备容量空间不足的情况下自动清除高速缓存文件或临时目录的内容.这意味着,如果你设备的容量快到极限了,应用存储的很多离线内容,包括文章.杂志.图书.漫画以及 ...
- 熊猫猪新系统测试之三:iOS 8.0.2
本来本猫要等到8.1版本出来后再做测试的,结果等来等去就是迟迟不推送更新呀!说好10月20号的iOS 8.1呢?为了一鼓作气写完,就先不等了.先拿手头的iOS 8.0.2系统做一下测试吧! 8.x系统 ...
- IOS BLE4.0蓝牙和外设连接和收发数据的流程
前言: 苹果在IOS 6系统之后开始支持BLE 4.0,iPhone4s,iPod 5,iPad 3等之后的机型开始内嵌BLE4.0硬件,因此在开发前请先确认你的开发环境符合上述要求,并且苹果在BLE ...
随机推荐
- laravel5.2总结--服务容器(依赖注入,控制反转)
1.依赖 我们定义两个类:class Supperman 和 class Power,现在我们要使用Supperman ,而Supperman 依赖了Power class Supperman { p ...
- OpenStack之虚机热迁移
OpenStack之虚机热迁移 最近要搞虚机的热迁移,所以也就看了看虚机迁移部分的内容.我的系统是CentOS6.5,此处为基于NFS共享平台的虚机迁移.有关NFS共享服务器的搭建可以看这里. Yak ...
- IOS开发学习笔记038-autolayout 自动布局 界面实现
在storyboard/xib文件中实现自动布局 autolayout 1.注意事项 autolayout和frame属性是有冲突的,所以如果准备使用autolayout,就不要再代码中对控件的fra ...
- pc和移动端获取滚动条的位置
移动端获取滚动条:document.body.scrollTop pc端获取滚动条:document.documentElement.scrollTop
- Leetcode 546.移除盒子
移除盒子 给出一些不同颜色的盒子,盒子的颜色由数字表示,即不同的数字表示不同的颜色.你将经过若干轮操作去去掉盒子,直到所有的盒子都去掉为止.每一轮你可以移除具有相同颜色的连续 k 个盒子(k > ...
- RESTful-rest_framework视图层-第三篇
图书管理系统: 实现图书接口的增.删.改.查 方式一:普通的方式 views配置: #Book的增.删.改.查接口 class BookSerializer(serializers.ModelSeri ...
- POJ-1087 二分图匹配,最大流。
A Plug for UNIX 题意很迷,不过很水. 题意:一个房间有m个插座,每个插座有一个型号, ...
- crt 和 Windows之间传输大文件
crt 通过rz.sz基于Zmodem传输协议最大支持4GB的文件,超过这个大小有两种方式(目前已知) 1.通过自带的FTP,如果是直连可以通过这种方式 调出crt会话窗口,然后通过组合键 Alt+p ...
- post方式的数据抓取
public static String sendPost(String url, String param) { PrintWriter out = null; Buff ...
- [NOI2010][bzoj2005] 能量采集 [欧拉函数+分块前缀和优化]
题面: 传送门 思路: 稍微转化一下,可以发现,每个植物到原点连线上植物的数量,等于gcd(x,y)-1,其中xy是植物的横纵坐标 那么我们实际上就是要求2*sigma(gcd(x,y))-n*m了 ...