diff --git a/Frameworks/Account/CloudKit/CloudKitAccountZone.swift b/Frameworks/Account/CloudKit/CloudKitAccountZone.swift index 9c8fc173b..7e768021b 100644 --- a/Frameworks/Account/CloudKit/CloudKitAccountZone.swift +++ b/Frameworks/Account/CloudKit/CloudKitAccountZone.swift @@ -137,7 +137,7 @@ private extension CloudKitAccountZone { func createContainer(name: String, isAccount: Bool, completion: @escaping (Result) -> Void) { let record = CKRecord(recordType: CloudKitContainer.recordType, recordID: generateRecordID()) record[CloudKitContainer.Fields.name] = name - record[CloudKitContainer.Fields.isAccount] = isAccount + record[CloudKitContainer.Fields.isAccount] = isAccount ? "true" : "false" save(record: record) { result in switch result { diff --git a/Frameworks/Account/CloudKit/CloudKitAccountZoneDelegate.swift b/Frameworks/Account/CloudKit/CloudKitAccountZoneDelegate.swift index e758421e9..391380fde 100644 --- a/Frameworks/Account/CloudKit/CloudKitAccountZoneDelegate.swift +++ b/Frameworks/Account/CloudKit/CloudKitAccountZoneDelegate.swift @@ -68,12 +68,16 @@ class CloudKitAcountZoneDelegate: CloudKitZoneDelegate { } func addOrUpdateContainer(_ record: CKRecord) { - guard let account = account, let name = record[CloudKitAccountZone.CloudKitContainer.Fields.name] as? String else { return } + guard let account = account, + let name = record[CloudKitAccountZone.CloudKitContainer.Fields.name] as? String, + let isAccount = record[CloudKitAccountZone.CloudKitContainer.Fields.isAccount] as? String, + isAccount != "true" else { return } if let folder = account.existingFolder(withExternalID: record.externalID) { folder.name = name } else { - account.ensureFolder(with: name) + let folder = account.ensureFolder(with: name) + folder?.externalID = record.externalID } }