This issue with all-day events not syncing correctly on a shared iCloud calendar is a known but inconsistent problem. While regular events often push to the other person's calendar without issue, all-day events can sometimes fail to appear. Fortunately, there are a few practical steps and workarounds that can help resolve the issue.
First, make sure that both you and your wife are using iCloud as the source for the calendar. To check this, go to Settings > Calendar > Accounts on each device and ensure that iCloud is listed and the "Calendars" toggle is turned on. It’s also important to confirm that all-day events are being added to the correct shared calendar. When creating or editing an event, tap on the “Calendar” field and verify that it's assigned to the shared calendar rather than a personal one like “Home” or “Work.”
Another common culprit is mismatched time zone settings. All-day events are more sensitive to time zone discrepancies than timed events. On both devices, go to Settings > Calendar > Time Zone Override and make sure the setting is either turned on with the same time zone selected, or turned off entirely on both devices. On a Mac, this can be checked under System Settings > General > Date & Time.
If the events are assigned to the correct calendar and time zones match, try manually refreshing the calendar. On iPhone, open the Calendar app and swipe down on the screen to refresh. On a Mac, open the Calendar app and choose View > Refresh Calendars from the menu bar. If syncing still doesn’t work, try removing and re-sharing the calendar. The original calendar owner should open the Calendar app, tap the “i” next to the shared calendar, choose “Stop Sharing,” then re-share it. The other person will need to accept the new invite.
Make sure both devices are also running the latest version of iOS, iPadOS, or macOS, as Apple has addressed calendar sync issues in past updates. To check, go to Settings > General > Software Update on your iPhone or iPad, or System Settings > General > Software Update on a Mac.
If none of these solutions resolve the problem, a simple workaround is to avoid using the “All-day” event toggle. Instead, create an event that runs from 12:00 a.m. to 11:59 p.m. and remove any alerts. This will mimic an all-day event but often avoids the syncing glitch.