iCloud sync isn't working in Speedometer? A complete step-by-step investigation
April 30, 2026 · 14 min read
Trips on iPhone but not on iPad? New trip not showing on Mac? This is the exhaustive checklist — pre-flight checks, every iOS toggle, every CloudKit edge case, and what to do if nothing works.
Speedometer syncs your trips, routes, fuel logs, maintenance records, vehicles, and settings across every device signed into the same Apple ID — iPhone, iPad, Mac, and Apple Vision Pro. Sync is built on Apple's CloudKit, which means everything stays in your private iCloud (we never see your data) but it also means there are a lot of moving parts: your Apple ID, iCloud Drive, network, push notifications, background activity, storage quotas, and Apple's CloudKit servers themselves all have to cooperate.
When sync misbehaves, the cause is almost always one of the items below. Work through this guide top to bottom — most issues are resolved in the first three sections. The later sections cover stranger edge cases (managed Apple IDs, betas, VPNs, region accounts) that are worth knowing about even if you've never seen them.
How Speedometer's iCloud sync actually works
A two-minute mental model makes the rest of this guide much easier to follow. When you save a trip on your iPhone, Speedometer writes it into the app's private CloudKit database — a private container scoped to your Apple ID, encrypted in transit and at rest, and inaccessible to us or anyone else. Apple then sends a silent push notification to your other devices. When those devices receive the push (or the next time you open Speedometer on them), they pull down the new records.
- Sync is eventually consistent — it's not instant, but it should converge in seconds to a couple of minutes under normal conditions.
- Silent pushes can be delayed by the system if a device is on Low Power Mode, in a Focus that suppresses notifications, or asleep with poor connectivity.
- Opening Speedometer triggers an immediate fetch, so launching the app on the lagging device is often enough to force convergence.
- Sync works in both directions and resolves conflicts using last-write-wins on a per-record basis.
Step 1 — Pre-flight: the five checks that fix 90% of issues
Run these five checks on every device you expect to sync. They take about a minute and resolve the vast majority of sync problems we see in support tickets.
- 1
Same Apple ID, signed in on every device
Open Settings → tap your name at the top. Confirm the email address is identical on every device. Family Sharing does not share app data — each family member has their own iCloud and their own trips. If two devices show different Apple IDs, that is the entire problem.
- 2
iCloud Drive turned on
Settings → [your name] → iCloud → iCloud Drive must be ON. CloudKit (which Speedometer uses) piggybacks on the same plumbing, so iCloud Drive being off blocks Speedometer from syncing.
- 3
Speedometer enabled in the iCloud app list
Settings → [your name] → iCloud → See All (or 'Apps Using iCloud') → find Speedometer in the list and confirm the toggle is ON. If it's off, the device will never sync. Do this on every device.
- 4
iCloud sync turned on inside Speedometer
Open Speedometer → Settings → iCloud Sync → confirm the master toggle is ON. The app respects this setting and uses it to opt out cleanly when you don't want sync at all.
- 5
Network connectivity
Sync needs internet — Wi-Fi or cellular. If you're on cellular, also confirm Settings → Cellular → iCloud Drive is allowed (some users restrict iCloud to Wi-Fi only and forget about it). If you're on Wi-Fi, confirm the Wi-Fi actually has internet (open Safari, load apple.com).
Step 2 — Check Apple's iCloud status (60 seconds)
Before you spend an hour debugging your own setup, confirm Apple isn't having a bad day. Apple maintains a public dashboard for iCloud, CloudKit, and Account services.
- Visit apple.com/support/systemstatus on any device.
- Look for the green dot beside 'iCloud Account & Sign In', 'iCloud Drive', and (on the developer page) 'CloudKit Database'.
- If any of those is amber or red, Apple is the problem. Wait for the dot to go green before doing anything else — sync will resume on its own.
Step 3 — The restart ladder (escalating)
Walk this ladder one rung at a time. Each rung is more disruptive than the last; stop the moment sync starts working.
- Force-quit Speedometer on every device (swipe up from the bottom, swipe the Speedometer card up). Reopen the app. This re-establishes the CloudKit subscription and triggers a fresh fetch.
- Toggle Wi-Fi off, wait 10 seconds, toggle it back on. Open Speedometer.
- Enable Airplane Mode, wait 10 seconds, disable it. Wait for Wi-Fi/cellular to reconnect, then open Speedometer.
- Restart the device (hold Side + Volume Up, slide to power off, wait 30 seconds, power on). After unlock, open Speedometer and give it a minute to catch up.
- Toggle Speedometer's iCloud row off and back on (Settings → [your name] → iCloud → See All → Speedometer). On iOS this flushes the local CloudKit cache and re-subscribes from scratch — it can take several minutes to repopulate, especially with a lot of data.
Step 4 — Background activity and power
Even with everything else correct, iOS can quietly suppress sync if the device is trying to save battery or data. Walk through these power and background settings.
Background App Refresh
Settings → General → Background App Refresh — set to On (Wi-Fi & Cellular). Then scroll down and confirm Speedometer is enabled in the per-app list.
Low Power Mode
Settings → Battery → Low Power Mode — turn it OFF while troubleshooting. Low Power Mode pauses background fetches and silent pushes.
Low Data Mode (Wi-Fi)
Settings → Wi-Fi → ⓘ next to your network → Low Data Mode — turn it OFF on the Wi-Fi you're testing on.
Low Data Mode (Cellular)
Settings → Cellular → Cellular Data Options → Data Mode — set to Standard or Allow More Data, not Low Data Mode.
Focus modes
Confirm a Focus isn't silencing Speedometer notifications. Settings → Focus → tap each active Focus → Apps. Speedometer can be allowed without enabling visible alerts.
Sleep / Screen Time downtime
If Downtime is configured, Speedometer must be in 'Always Allowed' for it to receive silent pushes during downtime hours.
Step 5 — Storage on iCloud and on device
Sync silently stalls when iCloud is full. If you're on the free 5 GB tier and you also use iCloud Photos or iCloud Backup, you're almost certainly out of room.
- Settings → [your name] → iCloud → Manage Account Storage. If the bar is full or red, that's your problem — free up space (delete old backups, prune Photos, or upgrade to iCloud+).
- Speedometer's data footprint is tiny (typically under 50 MB even with thousands of trips), so you only need a sliver of free space — but iCloud refuses to write any new records when the account is at quota.
- Also check on-device storage: Settings → General → iPhone Storage. If the device is below ~1 GB free, iOS aggressively offloads cached data and can interfere with CloudKit syncs.
Step 6 — Date, time, and certificate validity
iCloud and CloudKit use TLS, and TLS certificates fail validation if your device's clock is wrong. This sounds obscure, but it bites users who restored from a backup, used a travel SIM, or manually set the date for some reason.
- Settings → General → Date & Time → Set Automatically must be ON, on every device.
- Confirm the right time zone shows underneath. If it's wrong, your device's network can't see Apple's NTP servers — fix the network first.
- On Mac: System Settings → General → Date & Time → 'Set time and date automatically'.
Step 7 — Restrictions: Screen Time, MDM, and managed Apple IDs
If your device is managed by an employer, school, or a parent's Family Sharing setup, an invisible policy can block iCloud sync without surfacing any error. Check these even if you don't think they apply.
- Settings → Screen Time → Content & Privacy Restrictions. If this is on, scroll through Allowed Apps, Account Changes, and Cellular Data Changes. Anything restricted here can block Speedometer or iCloud.
- Settings → General → VPN & Device Management. If a Configuration Profile, MDM profile, or 'Supervised by …' banner is shown, your device is managed. Managed devices often disable third-party iCloud sync — talk to your IT admin or test on a personal device.
- Managed Apple IDs (issued by a workplace or school, ending in something other than the iCloud sign-up domain) can have CloudKit disabled by the organization. Sign in with a personal Apple ID instead.
- If a parent set up Family Sharing with Ask to Buy, restrictions on iCloud Drive or app permissions can also propagate down.
Step 8 — Two specific devices won't converge
iPhone has the latest data, iPad does not. (Or vice versa, or it's the Mac.) This is the most common 'sync issue' and it's almost always one of three things.
- Open Speedometer on the lagging device and leave it open for 60–90 seconds with the screen on. Many silent pushes are coalesced and only delivered after the system decides the app is active.
- Pull down on the trips list to force a manual refresh. If new data appears, sync was just delayed — not broken.
- Inside Speedometer on both devices, go to Settings → iCloud Sync → toggle off → wait 10 seconds → toggle on. Then reopen the app on each. This rebuilds the in-app sync state without touching the system iCloud cache.
Step 9 — Edge cases worth knowing about
Brand-new device, first sync ever
After installing Speedometer on a new iPhone or iPad, the first full sync can take several minutes — longer if you have hundreds of trips and lots of route geometry. Leave the app open in the foreground on Wi-Fi and let it work. If you switch apps too early, iOS may suspend the sync and resume it later.
Recently restored from a backup
After an iCloud or device-to-device restore, iOS rebuilds CloudKit subscriptions in the background for hours. During that window, sync can appear stuck. The fix is patience: keep the device on charger, on Wi-Fi, with the screen on for a while. If it's still wrong after 24 hours, return to the restart ladder in Step 3.
On an iOS, iPadOS, or macOS beta
Beta releases periodically break CloudKit in subtle ways — sync that works perfectly on iOS 17.4 release will sometimes hang on the first iOS 18.0 beta. If you're on a beta and other CloudKit-backed apps (Notes, Reminders, third-party apps) are also misbehaving, this is almost certainly Apple's bug. File feedback at feedbackassistant.apple.com and wait for the next beta.
VPN or strict corporate Wi-Fi
Some VPNs (especially split-tunnel configurations) drop Apple's push connection. Some corporate or hotel Wi-Fi networks block ports 5223/5228 used by Apple Push Notification Service — without push, silent sync notifications never arrive. Test by disabling the VPN, or by switching to cellular: if sync starts working, your network is the culprit.
Different App Store region or China-region Apple ID
China-region accounts use a separate CloudKit infrastructure operated by GCBD. Sync still works inside that region, but if you signed up in one region and travel/relocate, certain edge cases arise. If you've changed your Apple ID's region recently, sign out and back in once on each device to refresh routing.
Multiple iPhones, one iPad — only the iPad lags
An older iPad on Wi-Fi only and rarely opened can accumulate days of un-applied sync. The fix: open Speedometer on the iPad, plug it in to charge, leave it open for 5–10 minutes. iOS prioritises CloudKit catch-up when the device is on charger and idle.
Trips appear, but vehicles or settings don't (or vice versa)
Speedometer stores different record types in CloudKit (trips, vehicles, fuel entries, maintenance, settings). If one type syncs and another doesn't, it's almost always a transient CloudKit record-zone error that resolves with a force-quit and a 60-second wait. If it persists past a day, contact support — we can correlate it with server-side logs.
Step 10 — Last-resort options (use carefully)
Reset network settings
Settings → General → Transfer or Reset iPhone → Reset → Reset Network Settings. This clears all saved Wi-Fi networks (you'll need to re-enter passwords), VPN configurations, and cellular settings. It does not touch your data. Helpful when sync issues track to a specific Wi-Fi network or a stale captive-portal session.
Sign out of iCloud and sign back in
This is the nuclear option for sync — it forces every iCloud-backed app on the device to re-establish from scratch. Settings → [your name] → scroll to Sign Out. iOS will offer to keep a copy of your data on the device — choose YES. Restart the device, sign back in, then reopen Speedometer and let everything stream back down. Expect this to take 10+ minutes on a populated account.
Reinstall Speedometer
Only reinstall after sync is confirmed working on at least one other device — that device is your safety net. Delete the app, redownload from the App Store, sign in to iCloud again if prompted, and let the app re-fetch your data from CloudKit. If you have no other synced device, do not reinstall before exporting GPX/PDF backups.
What NOT to do
- Do NOT delete Speedometer while sync is broken on your only device with data — without sync, your trips live only on that device, and reinstalling will give you an empty app.
- Do NOT sign out of iCloud and choose 'Delete from this iPhone' — choose 'Keep on My iPhone'. The keep option is reversible; the delete option is not.
- Do NOT erase your device hoping it 'fixes sync'. iCloud sync issues live on the iCloud side; erasing the local device just means you start from a blank slate and re-pull whatever was already in iCloud.
- Do NOT change your Apple ID password mid-investigation. Apple invalidates active CloudKit sessions on password change and you'll have to re-sign in everywhere before sync can resume.
- Do NOT manipulate the system clock manually. Set Date & Time → Automatically.
Step 11 — When to contact support, and what to send
If you've worked through everything above and sync still misbehaves, we want to hear from you. The faster you can give us this information, the faster we can pinpoint the issue:
- Device models and OS versions for every device you expect to sync (e.g. 'iPhone 15 Pro on iOS 18.2, iPad Air M2 on iPadOS 18.2, MacBook Air M2 on macOS 15.2').
- Speedometer version (Settings → About in the app).
- Which device has the most up-to-date data, and which device is missing what.
- When the issue started, and anything that changed around then (new device, OS update, restored backup, switched Wi-Fi, started a VPN).
- Confirmation that you've completed Steps 1–4 above. Telling us 'iCloud Drive is on, Speedometer is enabled in the iCloud app list, both devices use the same Apple ID' saves us a round-trip.
- Screenshots of Settings → [your name] → iCloud → See All (showing the Speedometer toggle) and of Speedometer → Settings → iCloud Sync.
TL;DR — the one-page checklist
- Same Apple ID on every device.
- iCloud Drive ON. Speedometer ON in Settings → iCloud → See All.
- iCloud Sync ON inside Speedometer.
- Network reachable; cellular allowed for iCloud Drive if you're not on Wi-Fi.
- Apple's system status is green.
- Force-quit, then restart the device, then toggle Speedometer's iCloud row off/on.
- Background App Refresh on; Low Power Mode and Low Data Mode off; Focus isn't blocking the app.
- iCloud storage isn't full; device storage isn't full.
- Date & Time → Set Automatically.
- No restrictive Screen Time, MDM profile, or managed Apple ID interfering.
- Both devices truly converging? Open the app on each for a minute on good Wi-Fi.
- Still stuck after all of the above? Export your data, then sign out of iCloud and back in. If still stuck, email support with the details listed above.
Sync should be invisible. When it isn't, it's almost always one of the items on this list. Walk through it methodically and you will either fix the problem or have the exact diagnostic information our support team needs to fix it for you.