У меня есть приложение с рецептами, которое использует основные данные и покупки приложений. Каждый рецепт может иметь медиа-вложения, такие как изображения / видео. Базовые данные хранят только текст рецепта и пути к файлам с этими вложениями. Когда я покупаю рецепт, он добавляется в БД, а его медиа-вложения загружаются на пользовательское устройство. Поскольку эти медиа-файлы не созданы пользователем, iCloud не должен выполнять резервное копирование в соответствии с рекомендациями по хранению данных iOS. Теперь, например, я купил несколько рецептов, тогда я делаю восстановление iCloud. После восстановления у меня будут эти рецепты в моей базе данных, но медиа-файлы больше не будут там. Как лучше всего справиться с этим делом?
Единственный способ, который мне приходит в голову, - это проверить при запуске приложения, есть ли у меня рецепты, которые были куплены в моей базе данных, а затем проверить, существует ли папка, в которой хранятся медиа-файлы, и не пуста ли она. Если папка пуста, я бы удалил купленные записи из базы данных и представил бы предупреждение пользователю, спрашивающему, хочет ли он повторно загрузить все свои покупки. Тогда я бы использовал средство restoreCompletedTransactions, чтобы загрузить их снова.