我有一个食谱应用程序,它使用核心数据和应用程序购买。每个配方都可以有媒体附件,例如图像/视频。核心数据仅存储配方文本和这些附件的文件路径。当我购买一个配方时,它被添加到数据库,并且它的媒体附件被下载到用户设备。由于这些介质文件不是用户创建的,因此不应由iCloud根据iOS数据存储指导原则进行备份。现在,例如,我购买了一些食谱,然后我执行iCloud恢复。恢复后,我将在我的数据库中有这些食谱,但媒体文件将不再存在。处理这种情况的最好方法是什么?
我想到的唯一方法是在应用程序启动时检查我的数据库中是否有购买的食谱,然后检查存储媒体文件的文件夹是否存在并且不是空的。如果文件夹是空的,我会从数据库中删除购买的条目,并向用户发出警报,询问他是否想重新下载所有购买的内容。然后,我会使用restoreCompletedTransactions工具再次下载它们。
发布于 2012-02-11 19:14:44
您已经回答了您自己的问题-将文件名存储在数据库中,然后在恢复后使用NSFileManager查看这些文件是否存在于iPhone文件系统中,如果不存在,则再次下载它们。
https://stackoverflow.com/questions/9239572
复制相似问题