Ios 当应用程序已从备份中还原时,如何检测?

Ios 当应用程序已从备份中还原时,如何检测?,ios,cocoa-touch,Ios,Cocoa Touch,ALAssetPropertyAssetURL属性是存储对ALAsset的引用的一种简便方法,但在系统还原(或升级)某些资产期间。虽然更新资产引用url可能有一些变通方法,但如何检测何时需要更新?系统升级很容易,但如何检测应用程序何时从备份中恢复,以及是否在同一设备中恢复?书签对象是我通常维护对资源的访问的方式,用户可能会转移到我身上 从OSXV10.6开始,NSURL类提供了创建和使用书签对象的工具。书签提供对文件系统资源的持久引用。解析书签时,将获得指向资源当前位置的URL。如果用户移动或

ALAssetPropertyAssetURL属性是存储对ALAsset的引用的一种简便方法,但在系统还原(或升级)某些资产期间。虽然更新资产引用url可能有一些变通方法,但如何检测何时需要更新?系统升级很容易,但如何检测应用程序何时从备份中恢复,以及是否在同一设备中恢复?

书签对象是我通常维护对资源的访问的方式,用户可能会转移到我身上

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


我不知道它将如何处理备份恢复(听起来你需要深入操作系统的内部才能理解),但不管怎样,它可能是你最好的选择。

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

它看起来像是iOS 5.0中提供的URLByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:所以我想同样的技术也应该适用于iOS。有点害怕开始保存NSData而不是NSString(特别是当用作键时)。这看起来太棒了!将尝试让您知道它是否有效,并相应地将其设置为正确答案。谢谢