I have a couple Realms I bundle with the app and use as read-only fixture data. Their zipped size is dramatically smaller than their uncompressed + compacted size. Is it possible to unzip them in memory and access them from memory, instead of unzipping on disk? Sometimes users have 200MB RAM to spare, but not 200MB disk. Apple requires reporting the full on-disk size for on-demand resources which scares users off.
How are you bundling the zipped Realm? How are you relaying that your app + data takes 200MB on disk - and what’s ‘scary’ about 200Mb? e.g. my Wunderground app is 150Mb and it’s not really scary.
Also, couldn’t you unzip the file, copy the data to an in-memory realm and then remove the file?
I couldn’t remember the name off hand - it’s the new Background Assets system, which replaces On-Demand Resources.
When you download an app that uses Background Assets, the App Store adds a new interstitial which tells the user the estimated/max size of the app on disk after the downloads finish AND after they are decompressed into their “resting state” on disk. This new interstitial is much “louder” for users than the tiny download size info hidden at the bottom of App Store pages and requires a confirmation from the user that they’re OK with it. Users see it as a warning.
I get feedback from users that my app at around 30-350MB total is heavy/puts them off, and I get this feedback more often now that I’ve adopted Background Assets. Users don’t understand that these don’t need to be downloaded on future app updates unlike bundled assets either so this new interstitial is a net negative.
If I can keep the Background Assets zipped on disk, I could shave near 200MB.
I’m not making a point about whether or not 200-300MB is scary, it’s only a description of the feedback I get from users, not my own feelings.
Unzipping in memory and using it as an in-memory realm sounds like the solution, minus removing the file which would then need to be downloaded again on next launch, thx.