I can’t seem to find a pattern for the issue of the sync stopping. I’ve tried leaving the iOS app in the background for various amounts of time from 10 minutes to an hour. All I can tell is that the ‘last sync’ indication seems to be right after the app is put into the background and the iPhone is turned off. At that point sync is never performed again. Last night it happened again when I shut my phone off, and when I checked this morning that was the last time it had synched, and if refused to sync now.
The most dangerous part of this is, as I had mentioned in a previous post, the ‘race condition’ that happens because you have left Legend iOS running in the background.
- Changes are made to the iOS version (then synched) and the iPhone is closed. This is State A.
- Changes are made to the Windows Legend, then synched. This is State B.
- At some point here, the iOS version stops synching in the background.
- You start your iPhone, unaware that it is no longer synching, and make changes to a document that is now local because it can’t sync. This is State C, then close your phone.
- You make changes to the Windows version, wondering why the changes you made on your iPhone are not present (You’re seeing State B, but you should be seeing State C). The synched Windows version is now State D.
- You restart your iOS version to fix things, it now syncs, and the stale State C now overwrites everything one previously in Windows after the iOS Sync froze. Data is now lost.
At present, the only guaranteed way to prevent this seems to be to Force Quit iOS Legend immediately after you make changes and it syncs, then freshly launch iOS Legend every time you need it. Obviously this is not the desired behavior.
I am uncertain if the synching also fails if Legend is left in the foreground running for a long amount of time, but it definitely fails when left in the background.