CloudKit Background Export After Internet Reconnects

I’m seeing a repeatable failure to export changes in the background with an NSPersistentCloudKitContainer private database on iPhone.

While offline, I create an object and save its managed object context. I then leave the app and lock the phone. After Wi‑Fi reconnects, the change remains absent from the same app on my Mac. Opening the iPhone app causes it to sync and appear on the Mac.

The unplugged sequence reproduces this. When I tried the same sequence with the iPhone plugged in, background sync worked.

In a sysdiagnose from an unplugged occurrence:

  • 16:44:21: The context saved the new object.
  • 16:44:21: dasd queued the CloudKit export but reported networkPathAvailability = 0.
  • 16:44:27: iOS suspended the app.
  • 16:48:21: Wi‑Fi reported a satisfied path.
  • Through 16:54:42: No subsequent export attempt appeared in the logs.
  • Opening the iPhone app caused the change to appear on the Mac.

In the same offline-to-online routine, a reminder created in Apple Reminders appears on my Mac without reopening Reminders on the iPhone; my app’s new object does not appear until I reopen my app on the iPhone.

Is a queued NSPersistentCloudKitContainer export expected to run after connectivity returns while the app remains suspended and unplugged? If so, what should I check to learn why it did not run here? Or does Reminders receive background scheduling priority that third-party apps cannot use?

CloudKit Background Export After Internet Reconnects
 
 
Q