I am currently building an iOS app that lets users make collections from photos that get imported from their device photos. I am using core data as the data store and have questions about best patterns and practices to do this.
If I sound naive, I assure you it is because I am ;)
In a perfect world, my users will be importing hundreds of photos and I would like to backup app data (and photos) to iCloud.
So far, I see a few paths all with their own pros and cons:
Store the photo itself in core data. This seems very doable by using a 'data' type in the entity. This feels clean but wouldn't this create duplicate data on the device and potentially be very bloaty?
Create an album in Photos, place imported photos in it, and save local/device URLs in core data. This also seems clean but I worry about iCloud backup - it now seems I would need to sync core data and a bunch of photos?
Only store local/device URLs to photos. This seems very low touch which I like but worried that users may end up deleting or editing photos from their roll and forget it's in my app - again has issues around syncing as well.
Would love some feedback ideas, stories haha anything really :)