Deleted IOS app by mistake

My wife mistook my phone as hers and accidentally deleted Anki. I have not synced for a while now. Is there a way to recover my data?
I do not see that there is a backup through the app.

Did you sync to ankiweb.net? If so that should be easy.

Yes. Unfortunately, it has been a while since the last sync.

Maybe the iOS app should have a customer-selectable feature (maybe even on by default) to always sync when coming to focus (or launched).

So. One thing i did not understand is that the app creates backups locally but this backup also gets deleted when you delete the app. Is this how IOS apps work?

Not sure but yes if you delete the app the registry settings are wiped out so most likely also any backing store. It’s a way to clean up old crud - i use it from time to time with a competitor language learning app I won’t mention. That’s why backups/sync are important. Same if the phone/ipad gets destroyed, lost and so on.

So this backup, is just used to revert to an earlier state. Its not use for an accidental deletion. Which sucks since the sync is not automatic. How hard is it to code the automatic sync ?

Don’t know, the iOS maintainer would know and if there are issues concerning the workflow, I think this should be opt-out but it depends if an ankiweb account is created for backups. I sync all the time on my iOS device, before and after a training session.

The main problem is that on iOS, you may be opening and closing the app frequently when switching back and forth between apps, and automatic syncing would quickly get in the way. The sync icon changes colour as a reminder that a sync is required, and you can sync at a time that is convenient.

If you were backing up your entire device into iTunes or iCloud then a full device restore may possibly recover your data. If you didn’t have other backups, I’m afraid you’re probably out of luck. :frowning:

Thank you!
I just found out that I have a not too old icloud backup. I was able to restore and recover.

Could the sync be done in the background periodically, let’s say every four-five minutes, on a low priority thread or GCD task (could be just a user setting)?

The current sync protocol expects everything to be changed in one atomic update, which would mean blocking the user from interacting until it completes.

1 Like