惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

K
Kaspersky official blog
罗磊的独立博客
F
Fortinet All Blogs
人人都是产品经理
人人都是产品经理
量子位
V
Visual Studio Blog
Blog — PlanetScale
Blog — PlanetScale
M
MIT News - Artificial intelligence
B
Blog RSS Feed
腾讯CDC
博客园_首页
aimingoo的专栏
aimingoo的专栏
博客园 - 三生石上(FineUI控件)
博客园 - Franky
S
SegmentFault 最新的问题
N
Netflix TechBlog - Medium
小众软件
小众软件
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
L
LINUX DO - 热门话题
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Martin Fowler
Martin Fowler
D
Docker
P
Privacy & Cybersecurity Law Blog
S
Securelist
V
V2EX
Jina AI
Jina AI
阮一峰的网络日志
阮一峰的网络日志
T
Tor Project blog
The Hacker News
The Hacker News
Microsoft Azure Blog
Microsoft Azure Blog
AWS News Blog
AWS News Blog
The GitHub Blog
The GitHub Blog
有赞技术团队
有赞技术团队
T
The Exploit Database - CXSecurity.com
Help Net Security
Help Net Security
酷 壳 – CoolShell
酷 壳 – CoolShell
Application and Cybersecurity Blog
Application and Cybersecurity Blog
博客园 - 叶小钗
Recent Announcements
Recent Announcements
Cloudbric
Cloudbric
Y
Y Combinator Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Latest news
Latest news
MongoDB | Blog
MongoDB | Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Recorded Future
Recorded Future
V2EX - 技术
V2EX - 技术

月光博客

AI编程从零开始:环境配置到开发调试-月光博客 母亲被保健品诈骗-月光博客 向身体低头,向岁月妥协:我的高血压“还债日记” -月光博客 月光博客电子书:《信息安全指南》 谷歌发布2025年度搜索排行榜 中国2025社会热点大事记 2025年十大流行语发布 7天3次,骗子骗走我母亲95万元 “技术男”设三重安全墙,母亲95万存款还是被骗走了 电信诈骗后的复盘:母亲的95万元,是怎么从手机银行里消失的 母亲被电信诈骗95万元的全过程 阿根廷警察被谷歌街景相机拍到裸照 网信办开展“清朗·整治恶意挑动负面情绪问题”专项行动 翟欣欣敲诈勒索案一审获刑12年 《绝命毒师》影评:力工觉醒后的梭哈至死 《人工智能生成合成内容标识办法》正式施行 用AI分析你的财务信息 腾讯子公司实习HR怒怼求职者后被开除 OpenAI发布最强模型GPT-5,免费向所有用户开放 用AI解构你的日记 用AI分析你的游戏偏好 用AI分析你的观影偏好 用AI分析你的听歌偏好 《白鹿原》人物分析:乱世浮沉中的人性剖析 乌托邦的捷径:让AI治理“失败国家” 苹果AI的“路径错误”:为什么它在大模型时代掉队了? 《暗黑破坏神3》第35赛季开荒指南 我对特朗普的看法 欧·亨利十大经典小说鉴赏 HBO电视剧《最后生还者》第二季影评 播客自动化更新分发教程 《围城》人物分析:知识分子的时代困局 NotebookLM音频概览支持中文 《暗黑破坏神3》国服回归 《暗黑破坏神3》国服赛季开荒指南 《网络数据安全管理条例》正式发布实施 契约之下的自由:社会契约论 如何去除文章的AI味道 电影《好东西》影评 我的价值观:义务论和效益论 《魔兽世界》正式服PVP教程 电影《哪吒2》影评 中医理论不是科学理论 DeepSeek与主流AI模型对比评测 TikTok停止在美国服务 我的三观(世界观、价值观、人生观) 《无限暖暖》游戏评测 2024年财经年度总结 月光博客2024年推荐阅读文章 IMDb公布2024年热门电影和电视剧 2024年十大流行语发布 谷歌发布2024年度搜索排行榜 中国2024社会热点大事记 Google Adsense税务居住地证明申请教程 极狐GitLab回应前员工实名举报公司高管:恶意诽谤造谣 升级FTTR千兆光纤带宽 字节跳动起诉前实习生索赔800万 看完历届奥斯卡最佳影片后的体验 李子柒已经正式改名并恢复更新 苹果历年新春短片 “姜萍事件”调查结果公布 胡锡进社交平台恢复更新 上海女子沙白自杀的伦理道德分析 京东与杨笠一起玩火 字节跳动大模型训练被实习生攻击,涉事者已被辞退 《加勒比海盗》系列电影 《夺宝奇兵》系列电影时间线 《侏罗纪公园》系列电影时间线 《终结者》系列电影时间线 华为禁止用户从外部手动安装安卓应用(APK文件) 《炉石传说》国服回归一片混乱 官媒辟谣苹果手机被远程引爆 小米回应摄像头里出现陌生男子说话 环球人物:民族大义不是流量密码,盲目排外没有土壤 《异形》系列电影时间线 看完IMDb250后的体验 暴雪《炉石传说》国服开启预约 网易DD参与代打《魔兽世界》事件的深入分析 福建男子四年前“翻墙”浏览境外网站被行政处罚 《魔兽世界》正式服开服两周游戏体验 暴雪游戏足迹查询:查看暴雪游戏的数据 用AI分析你的推特社交网络数据 胡锡进停更三个月 国家网络身份认证公共服务管理办法向社会公开征求意见 苹果将部分产能转回中国 Windows全球大范围蓝屏 电影《V字仇杀队》影评 微软中国员工禁用安卓手机:只能用iPhone 《魔兽世界》怀旧服“巫妖王之怒”游戏体验 百度旗下萝卜快跑已在多个城市开放载人测试 我为什么不喜欢华为这家企业 胡锡进:强烈谴责苏州袭击日本人的凶手 20美元在美国超市的购买力 华为紧急辟谣“是国内最大的牛肉进口商” 苹果公司公布2024年Apple设计大奖获奖名单 自动生成电影剧本:人工智能技术的崭新里程碑 电影《芳华》人物分析 Steam账号被盗号的解决方法 中文互联网内容正在逐步消失 马斯克:推特域名已全部转移到X
开发者应对iOS 5限制本地存储的非官方指南
投稿 · 2011-10-29 · via 月光博客

众所周知,由于 iOS 5 新增的机制,在设备容量空间不足的情况下系统会自动清除高速缓存文件或临时目录的内容,迫使开发者将应用存储的数据最小化。

在 iOS 5 系统中,那些涉及到离线工作、需要用到本地存储的应用都会有相同的问题。很多的果迷热衷于使用这一类应用,尤其是在那些没有 Wi-Fi 网络的地方(地铁、飞机)。如果某一天你安装了一些很大的应用或者同步了大量的图书、音乐,这时候系统的自动清除机制被激活,随之而来的问题就是,你在地铁里、飞机上想要打发时间的时候突然发现找不到之前下载好的一些离线数据了。(如果对此还不清楚,可以看看这篇文章。)

苹果设计这个机制的初衷是为了保护好的用户体验,但是现在看来,苹果设计师还没有考虑得万分周全(或者是用户和开发者暂时还不能接受这种“激进”做法)。

作为开发者,现在要让苹果提供另外一个可以存储离线下载数据的文件夹已经不可能了,但是假如有足够的开发者向苹果表明他们确实需要这样一个文件夹来存储一些数据,我想在将来的版本当中,这种欠妥当情况也许会出现改善。

开发者应对iOS 5限制本地存储的非官方指南

开发者应该怎么做?

如果 APP 目前是把文件存储在 Documents 文件夹

现在它在 iOS 5 中运行是不会有任何问题出现的,只是用户可能会抱怨 iCloud 备份了太多数据,浪费时间和存储空间。

但是当你的应用下次更新时,很可能会被苹果应用审核团队以在 Documents 文件夹存储太多数据为由拒绝,这绝对会是让你头疼的事情。

如果 APP 目前已经(或打算)把文件存储在 Caches 目录

请确保你的应用能漂亮的处理任何存储在 Caches 目录里的文件(被)消失的情况,一种解决这个问题的办法是创建一份应用存储在 Caches 目录里的文件的 URL(统一资源定位符) 列表。

显然开发者要把这个列表文件存储在一个更持久的不同地方。可以在应用启动时检查一下列表中的文件是否还呆在那里。如果发现有任何文件丢失,可以弹出提示框告知用户这个情况,然后询问是否重新下载。当然如果设备是离线状态,你的任何道歉和解释都将被认为是白痴行为。

要考虑到实际情况可能更复杂,比如有时候只有部分数据仍然有效,你需要决定怎么和多少提示需要显示。

迁移现有的数据

如果你打算更新应用,把数据存储在 Caches 目录里,以适应苹果 iOS 5/iCloud 的新规则,那么你可能会需要把原来存储在 Documents 目录里面的文件迁移到 Caches 目录。可以肯定,Apple 的应用审核团队不会对此进行测试,因为他们不会有你旧版本存储有数据的应用,所以,选择迁移数据可能是个正确的选择。

记住不要在应用启动时在主线程里面做大量数据迁移的工作,因为这可能会引起“启动时间看门狗”的注意,并被它终结掉。

提早警告用户

当应用运行时,你可以经过用户设备存储空间不足,这种警告并不会改变文件被清除的命运,但至少可以让更多的人知道这个问题的存在,从而引起苹果的注意。

让苹果知道这是个大问题

向苹果相关人员提交漏洞报告,或者疯狂的在Twitter、微博、博客里面抱怨,或者像中国的网店主一样到淘宝公司门口举牌抗议,更可以学习华尔街事件的做法(不建议)。

用户应该怎么做?

知道现在,存储了大量数据的应用在备份时都是个大麻烦,因为 iTunes 备份进程不得不运行很长一段时间,特别是我们确实有那么多有用的数据需要备份的时候。

在 iCloud 备份过程中,用户可能不愿意使用免费的 5 GB 标配空间来备份他们认为不重要的数据(当然更不愿意付费购买额外空间),这是用户可以设置关闭某个应用的 iCloud 备份。设置的具体路径在:

iCloud > Storage & Backup > Manage Storage > Backups

根据上面的路径进入设置界面,可以选择 开启/关闭 每个应用的 iCloud 备份,并不是每一个用户都会知道有这么个设置功能,所以可以在程序帮助文档、支持邮件中说明,或者,还是用老办法,弹出一个漂亮的提示框,告知用户这一切。当然,这好像是苹果应该做的事情。

最后,想说的是,苹果推出了新机制,大部分总是以用户体验更好为初衷的,但是限制本地存储的新机制或许对部分用户和开发者都存在欠妥的地方,本文只是应对 iOS 5 限制本地存储的非官方指南,希望文中没有提供有害的建议,仅供参考。

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

开发者应对iOS 5限制本地存储的非官方指南