I’m seeing an issue with CloudKit sharing in iOS 26.2.1:
When I call CKShare(rootRecord:) with a brand-new record in a fresh custom zone, the share is created with no root attached (rootFromShare == nil). After saving both the root and share in a single CKModifyRecordsOperation, fetching the share from the server still shows no root reference (rootRecordID == nil). No errors are thrown, but sharing simply fails.
Key facts:
• Custom zone created and confirmed (sharing enabled, capsRaw=7/15)
• Brand-new record type and fresh IDs each run
• Never reusing records or shares
• Saving both root and share together in one operation
• No default zone usage; always custom private zone
Tested:
• Multiple devices, iCloud accounts, and app versions
• Both simulator and physical device
Debug logs consistently show:
• SHARE_CREATE_SHARE_LOCAL ... rootFromShare=nil
• After save/fetch: rootRecordID=nil on server
Has anyone seen this? Is there a new CloudKit regression in iOS 26.x, or am I missing something subtle?
Minimal sample project and full debug logs available if needed.
Any insights or workarounds would be hugely appreciated!
Selecting any option will automatically load the page