How Sync In Background Works
When Sync in Background is enabled, a silent push notification is sent to all devices that are linked to the same iCloud/Dropbox account as soon as changes have been uploaded. This silent push notification informs Due on each device to fetch any changes from Dropbox/iCloud, cancel any outdated notifications, and schedule new ones.
On macOS, as long as your app is running (doesn’t need to be in the foreground), it should sync within seconds after changes have been uploaded on another device.
On iOS, it is less straightforward. Because apps do not actively run in the background on iOS, we need to depend on iOS to wake up the app in the background in order to sync your data.
If Background Sync Is Not Working on Your iOS Devices
- Ensure that the ‘Sync in Background’ switch is enabled in Due > Settings > Sync. If it is already enabled, toggle it off, then back on again.
- Ensure that ‘Background App Refresh’ is enabled in iOS Settings > General > Background App Refresh > Due.
- Relaunch Due on macOS (if applicable).
- Force quit then relaunch Due on all of your iOS devices.
Background Sync Will Not Work Under Some Circumstances on iOS
iOS can choose not to wake an app up despite receiving a silent push. There are three main reasons:
- Apps that are manually force quit will not be woken up in the background.
- If you disable 'Background App Refresh' in iOS Settings > General > Background App Refresh > Due, background sync cannot work.
- Finally, a more complicated reason is that iOS have the final say on whether—and how soon—an app is woken up, even after receiving the push notification. This depends on a variety of factors, including: how often you launch Due on the device, your current battery life, whether you're plugged into power, whether you're on Wi-Fi or cellular, etc.
Apple has this to say about the background notification technology:
The system treats background notifications as low priority: you can use them to refresh your app’s content, but the system doesn’t guarantee their delivery. In addition, the system may throttle the delivery of background notifications if the total number becomes excessive.
To Determine If iOS Is Choosing Not To Wake Due Up
- On the iOS device (device A) that is experiencing the problem, leave Due running in the foreground.
- Make a change on another device (device B, iOS or Mac), then sync and wait for upload to complete.
- Within seconds after the upload has completed on device B, Due on device A should automatically indicate that it is ‘Checking for updates’ and sync the new data.
If this is happening as described, this indicates that Due has correctly pushed the update out to all devices, but iOS has chosen not to wake Due up when it is in the background.
In our experience, it can take minutes or even up to an hour before iOS decides to wake up an app, usually in response to other push notifications or other scheduled background app refresh from other apps, in order to conserve battery on your device.
On our end, we'll be further optimizing the sync in future updates to make it even more energy-efficient and use lesser bandwidth in order to encourage iOS to wake up Due in a timely manner.
But ultimately, the final call on when and whether to wake up Due to complete the background sync depends on iOS.
Suggestion To Mitigate The Impact Of Background Sync Delays
One way to mitigate this technical limitation would be to disable Auto Snooze selectively on the device(s) that you're less likely to have with you all the time. For example, between the iPhone and iPad, if you're more likely to be using the iPhone to mark reminders complete, you'd disable Auto Snooze on your iPad in Due > Settings > Alerts & Badges > Auto Snooze. This would prevent your iPad from continually alerting you to reminders you've already marked complete on your iPhone if background sync fails to take place.