{"id":51454,"date":"2026-04-01T14:33:43","date_gmt":"2026-04-01T18:33:43","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=51454"},"modified":"2026-04-10T13:57:02","modified_gmt":"2026-04-10T17:57:02","slug":"cloudkit-problems-with-ios-26-4","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2026\/04\/01\/cloudkit-problems-with-ios-26-4\/","title":{"rendered":"CloudKit Problems With iOS 26.4"},"content":{"rendered":"<p><a href=\"https:\/\/mastodon.social\/@lukaskubanek\/116299581006179836\">Lukas Kubanek<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@lukaskubanek\/116299581006179836\">\n<p>Looks like <a href=\"https:\/\/developer.apple.com\/forums\/thread\/820550\">Apple broke CloudKit<\/a> sync in OS 26.4. Remote notifications don&rsquo;t seem to arrive, so no updates unless the app is relaunched.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/mastodon.social\/@bigzaphod\/116296329317023184\">Sean Heber<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@bigzaphod\/116296329317023184\">\n<p>There are so many annoying limits and throttles when dealing with iCloud\/CloudKit. Now I ran into one where the subscriptions that let you know when content changed are also throttled and limited. From what I&rsquo;m reading, I might be in push-notification-jail for 24 hours now because I triggered a ton of changes during a test.<\/p>\n<p>Makes it a tad hard to know when I broke something vs. when iCloud just decides to stop sending me stuff for a while.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/mastodon.social\/@bigzaphod\/116302305363834076\">Sean Heber<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@bigzaphod\/116302305363834076\">\n<p>Has anyone had a <code>CKSubscription<\/code> just&#8230; stop? It&rsquo;s a zone change subscription. It&rsquo;s supposed to generate an invisible push so I can refresh things. This used to work. Then early yesterday it didn&rsquo;t work anymore. I&rsquo;ve tried everything I can think of including reverting all code entirely back to a state from a few days ago when I <em>know<\/em> it worked. But it still doesn&rsquo;t work. I&rsquo;ve rebooted things. I&rsquo;ve reinstalled things. It&rsquo;s been 27ish hours now since I last saw it work.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/mastodon.social\/@stroughtonsmith\/116306280183930496\">Steve Troughton-Smith<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@stroughtonsmith\/116306280183930496\">\n<p>Looks like the CloudKit sync issue in *OS 26.4 is real (I can repro with all of my apps), and has the very distinct potential to lead to catastrophic data loss and\/or sync conflicts across effectively all apps. Apps only receive changes from the cloud after being quit and relaunched.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/mastodon.social\/@amyworrall\/116319969806945409\">Amy Worrall<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@amyworrall\/116319969806945409\">\n<p>Anyone know if the iOS 26.5 beta fixes the CloudKit subscriptions not working bug from 26.4?<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/mastodon.social\/@gedeonm\/116320462187476961\">Ged Maheux<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@gedeonm\/116320462187476961\">\n<p>It&rsquo;s hilarious that the iOS 26.5 beta release notes make no mention that they fixed this massive regression with iCloud push sync Apple broke in 26.4.<\/p>\n<\/blockquote>\n\n<p>It seems serious enough to warrant a 26.4.1 update.<\/p>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2026\/04\/01\/cksyncengine\/\">CKSyncEngine<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2026\/03\/25\/ios-26-4-and-ipados-26-4\/\">iOS 26.4 and iPadOS 26.4<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/11\/07\/cloudkit-reference-and-index-issues\/\">CloudKit Reference and Index Issues<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/05\/29\/cloudkit-throttles-and-debugging\/\">CloudKit Throttles and Debugging<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2023\/01\/18\/icloud-syncing-limitations-solutions\/\">iCloud Syncing Limitations &amp; Solutions<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2022\/01\/24\/increased-icloud-errors\/\">Increased iCloud Errors<\/a><\/li>\n<\/ul>\n\n<p id=\"cloudkit-problems-with-ios-26-4-update-2026-04-08\">Update (<a href=\"#cloudkit-problems-with-ios-26-4-update-2026-04-08\">2026-04-08<\/a>): <a href=\"https:\/\/tidbits.com\/2026\/04\/06\/ios-26-4-cloudkit-bug-disrupts-icloud-sync-fix-coming\/\">Adam Engst<\/a>:<\/p>\n<blockquote cite=\"https:\/\/tidbits.com\/2026\/04\/06\/ios-26-4-cloudkit-bug-disrupts-icloud-sync-fix-coming\/\">\n<p>The good news is that Apple has acknowledged and addressed the bug, and multiple developers have confirmed the fix is present in the iOS 26.5 beta. However, that release may not appear until mid-May, so we can hope Apple will release an iOS 26.4.1 patch to address it sooner.<\/p>\n<\/blockquote>\n\n<p id=\"cloudkit-problems-with-ios-26-4-update-2026-04-09\">Update (<a href=\"#cloudkit-problems-with-ios-26-4-update-2026-04-09\">2026-04-09<\/a>): There&rsquo;s more information about the bug in the <a href=\"https:\/\/developer.apple.com\/forums\/thread\/820562\">Apple Developer Forums<\/a> and on <a href=\"https:\/\/www.reddit.com\/r\/iOSProgramming\/comments\/1s4ig02\/psa_cloudkit_push_notifications_are_broken_on_ios\/\">Reddit<\/a>, and it&rsquo;s apparently fixed in iOS 26.4.1.<\/p>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2026\/04\/09\/ios-26-4-1-and-ipados-26-4-1\/\">iOS 26.4.1 and iPadOS 26.4.1<\/a><\/li>\n<\/ul>\n\n<p id=\"cloudkit-problems-with-ios-26-4-update-2026-04-10\">Update (<a href=\"#cloudkit-problems-with-ios-26-4-update-2026-04-10\">2026-04-10<\/a>): <a href=\"https:\/\/mastodon.social\/@_inside\/116372298685878069\">Gui Rambo<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@_inside\/116372298685878069\">\n<p>It looks like the CloudKit silent notification bug was caused by some sort of token validation added in iOS 26.4 that was dropping notifications from CloudKit. Fixed in iOS 26.4.1 by bypassing the validation for notifications that come from CloudKit.<\/p>\n<\/blockquote>\n\n<p>See also: <a href=\"https:\/\/mastodon.tz.is\/@khaost\/116372788899342130\">Khaos Tian<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>Lukas Kubanek: Looks like Apple broke CloudKit sync in OS 26.4. Remote notifications don&rsquo;t seem to arrive, so no updates unless the app is relaunched. Sean Heber: There are so many annoying limits and throttles when dealing with iCloud\/CloudKit. Now I ran into one where the subscriptions that let you know when content changed are [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2026-04-01T18:33:47Z","apple_news_api_id":"f92d5d96-da9f-4e75-bc79-8219ea8021d2","apple_news_api_modified_at":"2026-04-10T17:57:06Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAAAw==","apple_news_api_share_url":"https:\/\/apple.news\/A-S1dltqfTnW8eYIZ6oAh0g","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[131,916,1016,16,31,2741,71],"class_list":["post-51454","post","type-post","status-publish","format-standard","hentry","category-technology","tag-bug","tag-cloudkit","tag-datacide","tag-icloud","tag-ios","tag-ios-26","tag-programming"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/51454","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=51454"}],"version-history":[{"count":5,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/51454\/revisions"}],"predecessor-version":[{"id":51538,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/51454\/revisions\/51538"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=51454"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=51454"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=51454"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}