Made sure the special account container didn't get created locally.

This commit is contained in:
Maurice Parker 2020-03-30 18:03:56 -05:00
parent 997e34fc3c
commit 1ee3c3d85a
2 changed files with 7 additions and 3 deletions

View File

@ -137,7 +137,7 @@ private extension CloudKitAccountZone {
func createContainer(name: String, isAccount: Bool, completion: @escaping (Result<String, Error>) -> 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 {

View File

@ -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
}
}