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