I'm experiencing a persistent issue with CloudKit sharing in my iOS application. When attempting to present a UICloudSharingController, I receive the error message "Unknown client: ChoreOrganizer" in the console. App Configuration Details:
- App Name: ChoreOrganizer
 - Bundle ID: com.ProgressByBits.ChoreOrganizer
 - CloudKit Container ID: iCloud.com.ProgressByBits.ChoreOrganizer
 - Core Data Model Name: ChoreOrganizer.xcdatamodeld
 - Core Data Entity: Chore
 
Error Details:
The error "Unknown client: ChoreOrganizer" occurs when I present the UICloudSharingController This happens only on the first attempt to share; subsequent attempts during the same app session don't show the error but sharing still doesn't work All my code executes successfully without errors until UICloudSharingController is presented
Implementation Details: I'm using NSPersistentCloudKitContainer for Core Data synchronization and UICloudSharingController for sharing. My implementation creates a custom CloudKit zone, saves both a record and a CKShare in that zone, and then presents the sharing controller. Here's the relevant code:
@MainActor
func presentSharing(from viewController: UIViewController) async throws {
    // Create CloudKit container
    let container = CKContainer(identifier: containerIdentifier)
    let database = container.privateCloudDatabase
    
    // Define custom zone ID
    let zoneID = CKRecordZone.ID(zoneName: "SharedChores", ownerName: CKCurrentUserDefaultName)
    
    do {
        // Check if zone exists, create if necessary
        do {
            _ = try await database.recordZone(for: zoneID)
        } catch {
            let newZone = CKRecordZone(zoneID: zoneID)
            _ = try await database.save(newZone)
        }
        
        // Create record in custom zone
        let recordID = CKRecord.ID(recordName: "SharedChoresRoot", zoneID: zoneID)
        let rootRecord = CKRecord(recordType: "ChoreRoot", recordID: recordID)
        rootRecord["name"] = "Shared Chores Root" as CKRecordValue
        
        // Create share
        let share = CKShare(rootRecord: rootRecord)
        share[CKShare.SystemFieldKey.title] = "Shared Tasks" as CKRecordValue
        
        // Save both record and share in same operation
        let recordsToSave: [CKRecord] = [rootRecord, share]
        _ = try await database.modifyRecords(saving: recordsToSave, deleting: [])
        
        // Present sharing controller
        let sharingController = UICloudSharingController(share: share, container: container)
        sharingController.delegate = shareDelegate
        
        // Configure popover
        if let popover = sharingController.popoverPresentationController {
            popover.sourceView = viewController.view
            popover.sourceRect = CGRect(
                x: viewController.view.bounds.midX,
                y: viewController.view.bounds.midY,
                width: 1, height: 1
            )
            popover.permittedArrowDirections = []
        }
        
        viewController.present(sharingController, animated: true)
    } catch {
        throw error
    }
}
Steps I've already tried:
- Verified correct bundle ID and container ID match in all places (code, entitlements file, Developer Portal)
 - Added NSUbiquitousContainers configuration to Info.plist
 - Ensured proper entitlements in the app
 - Created and configured proper provisioning profiles
 - Tried both default zone and custom zone for sharing
 - Various ways of saving the record and share (separate operations, same operation)
 - Cleaned build folder, deleted derived data, reinstalled the app
 - Tried on both simulator and physical device
 - Confirmed CloudKit container exists in CloudKit Dashboard with correct schema
 - Verified iCloud is properly signed in on test devices
 
Console Output:
1. Starting sharing process
2. Created CKContainer with ID: iCloud.com.ProgressByBits.ChoreOrganizer
3. Using zone: SharedChores
4. Checking if zone exists
5. Zone exists
7. Created record with ID: <CKRecordID: 0x3033ebd80; recordName=SharedChoresRoot, zoneID=SharedChores:__defaultOwner__>
8. Created share with ID: <CKRecordID: 0x3033ea920; recordName=Share-C4701F43-7591-4436-BBF4-6FA8AF3DF532, zoneID=SharedChores:__defaultOwner__>
9. About to save record and share
10. Records saved successfully
11. Creating UICloudSharingController
12. About to present UICloudSharingController
13. UICloudSharingController presented
Unknown client: ChoreOrganizer
Additional Information: When accessing the CloudKit Dashboard, I can see that data is being properly synced to the cloud, indicating that the basic CloudKit integration is working. The issue appears to be specific to the sharing functionality. I would greatly appreciate any insights or solutions to resolve this persistent "Unknown client" error. Thank you for your assistance.