From 1ee3c3d85a5f696eee0804693b4f44e3fdd6a35c Mon Sep 17 00:00:00 2001 From: Maurice Parker Date: Mon, 30 Mar 2020 18:03:56 -0500 Subject: [PATCH] Made sure the special account container didn't get created locally. --- Frameworks/Account/CloudKit/CloudKitAccountZone.swift | 2 +- .../Account/CloudKit/CloudKitAccountZoneDelegate.swift | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) 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 } }