我有一个食谱应用程序,它使用核心数据和应用程序购买。每个食谱都可以有媒体附件,如图像/视频。核心数据仅存储这些附件的配方文本和文件路径。当我购买食谱时,它被添加到数据库,其媒体附件被下载到用户设备。由于这些媒体文件不是用户创建的,因此根据iOS数据存储指南,iCloud不应备份这些媒体文件。现在例如我购买了一些食谱然后我做了iCloud恢复。恢复后,我将在我的数据库中有这些食谱,但媒体文件将不再存在。处理这种情况的最佳方法是什么?
我想到的唯一方法是在应用程序启动时检查如果我有在我的数据库中购买的食谱,那么检查存储的媒体文件中的文件夹是否存在而不是空的。如果该文件夹为空,我将从数据库中删除已购买的条目,并向用户询问是否要重新下载所有购买的警报。然后我会使用restoreCompletedTransactions工具再次下载它们。
答案 0 :(得分:0)
你已经回答了自己的问题 - 在你的数据库中存储文件名,然后在恢复之后看看这些文件是否存在于使用NSFileManager的iPhone文件系统上,如果不存在,请再次下载它们。 / p>