Thanks for the update. Sorry if I’m slow on the uptake, but does this mean, then, that Apple only allows its native apps to do this? Reminders stays up to date even when not launched, I thought. I thought Fantastical did, too, but maybe I’m mistaken.
OmniFocus 2 on iPhone 5 will not sync automatically ever [solved with the introduction of push-triggered background syncing]
Yeah. Apple’s iCloud services and Exchange client are guaranteed to wake for a sync. There are also exceptions like VoIP. Having said that, OmniFocus’ background uptime on the go is better than what I once expected (as I use Due too)…
As for Fantastical, it is likely that they have registered the alerts/badge counts to the system in advance. Since the limit of scheduled notifications is pretty large, refreshing only once a while would be fairly enough.
Hi @AbramKJ, I believe you’re correct. My understanding is that Apple’s native apps are allowed to do things that 3rd party apps are not. For example, Mail can alert you that you’ve received new email even when it’s not running.
Push sync has been working fine for me with the latest release versions of OmniFocus on Mac and iOS. There are a couple of posts here that explain how it’s been implemented:
As I understand it, until the most recent versions. OmniFocus used the simple “Background App Refresh” approach, which allows apps to start up (at iOS’ discretion) and perform actions in the background, but these are triggered by a timer that’s determined by iOS itself, and not by the app, and is supposedly based on how often you open the app (e.g. if iOS sees you open OmniFocus at 8 AM every morning, it will schedule a background wake-up call for the app at that time automatically).
The new architecture, which is only available in the very latest versions of OmniFocus, uses background push notifications to trigger syncing. This is what apps like Fantastical and many others also do – essentially any app with its own “push” server can allow its app to wake up and sync in the background… Many of Google’s apps do this (e.g. Gmail, Inbox, etc), apps like Evernote do this, as do OF competitors such as Things.
Keep in mind that there are two ideas about whether OmniFocus is “running” on iOS or not. If you force-quit OmniFocus (e.g., bring up the app switcher and swipe it away), then push notifications and background app refresh may not work properly. However, if you’ve simply exited OmniFocus by tapping the home button, the app is still suspended in the background and hooked into iOS to receive push notifications and perform other background refresh tasks. As anders points out above, however, if you’ve toggled the “Background App Refresh” option OFF, then the app will not be able to do things in the background regardless of whether it’s iOS or a push notification triggering an action, and low battery conditions can also cause apps to not trigger a background app refresh, although merely being on cellular should not affect it as long as the app has cellular data access enabled (in the iOS Settings), of course.
Figured I ought to double back here and say this is all working wonderfully now. :)
2 posts were split to a new topic: Push sync not working reliably for me
Push sync not working reliably for me
Thanks to everyone in this thread who let us know that they needed OmniFocus to sync more responsively! Things are quite a bit different now from when this thread started: since rolling out the beta test of push syncing for iOS three months ago we’ve sent nearly 50,000,000 push notifications telling OmniFocus for iOS to wake up and silently sync in the background.
We’ve also added a sync log so you can see exactly when OmniFocus has recently synced and what triggered each sync, which has helped us diagnose situations where OmniFocus wasn’t syncing as quickly as we expected it should.
It’s great to have OmniFocus immediately update when a change is made on another device, and your feedback is what prompted us to implement these improvements. Thank you!
(Next up: sending push notifications to OmniFocus for Mac!)