From 31104eed4d7f2407575d93c8ecaa78ca4d9eef86 Mon Sep 17 00:00:00 2001 From: Kiryl Kaveryn Date: Wed, 23 Jul 2025 18:38:36 +0400 Subject: [PATCH] [ios] Remove fileCoordinator wrapping from downloading starting And add check `isUbiquitousItem` before downloading start. This method returns false when the file doesn't exist. Signed-off-by: Kiryl Kaveryn --- .../iCloud/SynchronizationFileWriter.swift | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/iphone/Maps/Core/iCloud/SynchronizationFileWriter.swift b/iphone/Maps/Core/iCloud/SynchronizationFileWriter.swift index 5ae7e07a3..618e79540 100644 --- a/iphone/Maps/Core/iCloud/SynchronizationFileWriter.swift +++ b/iphone/Maps/Core/iCloud/SynchronizationFileWriter.swift @@ -39,18 +39,16 @@ final class SynchronizationFileWriter { // MARK: - Read/Write/Downloading/Uploading private func startDownloading(_ cloudMetadataItem: CloudMetadataItem, completion: WritingResultCompletionHandler) { - var coordinationError: NSError? - fileCoordinator.coordinate(writingItemAt: cloudMetadataItem.fileUrl, options: [], error: &coordinationError) { cloudItemUrl in - do { - LOG(.info, "Start downloading file: \(cloudItemUrl.path)...") - try fileManager.startDownloadingUbiquitousItem(at: cloudItemUrl) - completion(.success) - } catch { - completion(.failure(error)) + LOG(.info, "Start downloading file: \(cloudMetadataItem.fileUrl.path)...") + do { + if fileManager.isUbiquitousItem(at: cloudMetadataItem.fileUrl) { + try fileManager.startDownloadingUbiquitousItem(at: cloudMetadataItem.fileUrl) + } else { + LOG(.warning, "File \(cloudMetadataItem.fileUrl.path) is not a ubiquitous item. Skipping download.") } - } - if let coordinationError { - completion(.failure(coordinationError)) + completion(.success) + } catch { + completion(.failure(error)) } }