I've been using the CloudKitHelper Class that I found here. My app is only on iOS16, so getting the above message is something I'd like to remove. I've looked everywhere and have not found any examples of people dealing with the new method. Given that the CloudKitHelper class is using recursion a simple replacement of operaion.modifyRecordZonesCompletionBlock to operation.modifyRecordZonesResultBlock, provides many more errors.
public static func modifyRecordZonesOperation(
database: CKDatabase,
recordZonesToSave: [CKRecordZone]?,
recordZoneIDsToDelete: [CKRecordZone.ID]?,
modifyRecordZonesCompletionBlock: @escaping (([CKRecordZone]?, [CKRecordZone.ID]?, Error?) -> Void)) {
let logger=Logger(subsystem: "tracker", category: "PersistentCloudKitContainer")
let operation = CKModifyRecordZonesOperation(
recordZonesToSave: recordZonesToSave,
recordZoneIDsToDelete: recordZoneIDsToDelete)
// swiftlint:disable:next line_length
operation.modifyRecordZonesCompletionBlock = { (savedRecordZones: [CKRecordZone]?, deletedRecordZoneIDs: [CKRecordZone.ID]?, error: Error?) -> Void in
if let error = error {
if let delay = determineRetry(error: error) {
DispatchQueue.global().asyncAfter(deadline: .now() + delay) {
CloudKitHelper.modifyRecordZonesOperation(
database: database,
recordZonesToSave: recordZonesToSave,
recordZoneIDsToDelete: recordZoneIDsToDelete,
modifyRecordZonesCompletionBlock: modifyRecordZonesCompletionBlock)
}
logger.log("modifyRecord Error \(error.localizedDescription), trying delayed retry of \(delay)")
} else {
modifyRecordZonesCompletionBlock(savedRecordZones, deletedRecordZoneIDs, error)
}
} else {
modifyRecordZonesCompletionBlock(savedRecordZones, deletedRecordZoneIDs, error)
}
}
database.add(operation)
}
I would appreciate any pointers at how to address this. Thanks