2012-02-11 111 views
0

我有一个使用核心数据和应用程序购买的食谱应用程序。每个配方都可以具有媒体附件,如图像/视频。核心数据仅存储配方文本和文件路径到这些附件。当我购买配方时,它会被添加到数据库中,并将其媒体附件下载到用户设备中。由于这些媒体文件不是用户创建的,因此根据iOS数据存储指南不应该由iCloud备份。现在,例如我购买了一些食谱,然后我做iCloud恢复。恢复后,我会在我的数据库中有这些食谱,但媒体文件将不再存在。处理这种情况的最佳方法是什么?如何在iCloud恢复后恢复下载的媒体文件?

这使我的心是在应用程序启动检查,如果我在我的数据库中购买了配方的唯一方法,然后检查是否存在哪些媒体文件的存储文件夹,不是空的。如果文件夹为空,我会从数据库中删除已购买的条目,并向用户发出警报,询问他是否想重新下载所有购买的产品。然后我会使用restoreCompletedTransactions设施再次下载它们。

回答

0

你几乎回答了你自己的问题有 - 存储文件名在你的数据库,然后恢复后看,如果这些文件是否存在使用的NSFileManager的iPhone文件系统上,如果他们都没有,再次下载它们。