从备份恢复应用程序时如何检测?

时间:2013-11-14 13:25:56

标签: ios cocoa-touch

ALAssetPropertyAssetURL属性是存储对ALAsset的引用的便捷方式,但在系统还原(或升级)某些资产might change this property期间。虽然可能有一些变通方法来更新资产引用网址,但如何检测何时需要?系统升级很容易,但是如何检测应用程序何时从备份中恢复,如果这种情况发生在同一设备中?

2 个答案:

答案 0 :(得分:5)

当你的应用程序启动时,在文档中查找已知名称的文件(比如DidLaunch.txt),如果不存在,则创建它,并设置其元数据“不要备份”。在每次发布时,查找该文件 - 如果在那里,您之前在此设备上启动。如果它不存在,这是一个新的发布。

答案 1 :(得分:0)

书签对象是我通常如何维护对用户可能转移到我的资源的访问权限。

From the NSURL Class Reference

  

从OS X v10.6开始,NSURL类提供了创建和使用书签对象的工具。书签提供对文件系统资源的持久引用。解析书签时,您将获得资源当前位置的URL。如果用户移动或重命名资源,或者用户重新启动应用程序或重新启动系统,则书签与文件系统资源(通常是文件或文件夹)的关联通常会继续有效。

我不知道它将如何处理来自备份的修复(听起来你会深入挖掘操作系统的内容以理解它),但无论如何,它可能是你最好的选择。