iOS应用程序在重新启动时无法访问下载的文件-UUID更改



我一直在调试一个问题,我的应用程序成功下载了一个文件并将其复制到Documents目录。最近,该应用程序无法在随后启动该应用程序时打开下载的文件。我一直在打印文件的URL,这是我最初下载并打开文件时看到的:

unzipped /var/mobile/Containers/Data/Application/9AC69C00-228E-482F-99D8-DD8F214FCE88/Documents/3.atcase to 
/var/mobile/Containers/Data/Application/9AC69C00-228E-482F-99D8-DD8F214FCE88/Library/Application Support/thebundleID/current-case

你可以看到UUID是一样的,但当我再次启动应用程序时,我看到的是:

couldn't unzip /var/mobile/Containers/Data/Application/9AC69C00-228E-482F-99D8-DD8F214FCE88/Documents/3.atcase to 
/var/mobile/Containers/Data/Application/C18E7EFA-C0D0-4213-AF85-F5BC0D2A4207/Library/Application Support/thebundleID/current-case

这一次UUID似乎有所不同。

我会试探性地说答案是肯定的,应用程序容器文件夹中使用的UUID似乎每次运行应用程序时都会发生变化,尽管我希望得到更有经验的开发人员的确认。

我的问题的解决方案很简单:不要在数据库中存储绝对的文件URL。现在,每次运行应用程序时,文件的URL都是相对于Documents目录URL构建的。由于我以常规方式命名文件,因此无论如何都不需要存储URL。

最新更新