You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Because of this, none of the databases in that directory will ever get backed up, to iCloud or to a computer. I'm pretty sure that this will also exclude the files from a direct device to device transfer.
As a mitigation, our app explicitly sets the flag back to false, but we weren't expecting the behaviour. As a result, our users are at risk of data loss if they transfer data to a new iPhone before updating our app. Not cool.
Solution
I see that historically, the flag was set purposefully to hide the database from iTunes (#207), but that is completely misguided as in practice, there's now no way for the dbs in that folder to be transferred to other devices as long as the flag remains...
Happy to discuss. iOS backups are a specialty of mine, used to work in that domain specifically.
The text was updated successfully, but these errors were encountered:
Update: I see that the issue only occurs if iOSDatabaseLocation is specified in capacitor.config so most users of the plugin will likely never see the bug. Still, very unexpected behaviour in my opinion - databases SHOULD be backed up by default, especially since that is the default data transfer mechanism on iOS to set up a new device, via iCloud backup or local backup or direct transfer.
Plugin version:
6
Platform(s):
iOS
Current behavior:
On iOS, our app specifies it's own
iOSDatabaseLocation
directory:Library/Database
But I see that, just after the directory is created, the
isExcludedFromBackup
flag on that directory is set totrue
. Seesqlite/ios/Plugin/Utils/UtilsFile.swift
Line 50 in 891377f
Because of this, none of the databases in that directory will ever get backed up, to iCloud or to a computer. I'm pretty sure that this will also exclude the files from a direct device to device transfer.
As a mitigation, our app explicitly sets the flag back to false, but we weren't expecting the behaviour. As a result, our users are at risk of data loss if they transfer data to a new iPhone before updating our app. Not cool.
Solution
I see that historically, the flag was set purposefully to hide the database from iTunes (#207), but that is completely misguided as in practice, there's now no way for the dbs in that folder to be transferred to other devices as long as the flag remains...
Happy to discuss. iOS backups are a specialty of mine, used to work in that domain specifically.
The text was updated successfully, but these errors were encountered: