Мое приложение работает с файлами изображений и аннотаций.Файлы аннотаций - это просто XML
файлы, содержащие информацию для каждого изображения.Таким образом, пользователь может иметь, например, набор данных из 100 изображений + 100 файлов аннотаций.
В какой-то момент я хочу, чтобы пользователь мог экспортировать эти файлы в облачный сервис, в идеале iCloud или Google-Drive., чтобы они были доступны для дальнейшей обработки / работы.
Приложение «Файлы» выглядело лучшим кандидатом для этой задачи.Пользователь уже подключил своих облачных провайдеров в приложении «Файлы», и мне не о чем беспокоиться.
func presentLocationPicker(forExportingFiles urls: [URL]) {
let documentPicker = UIDocumentPickerViewController(urls: urls, in: .exportToService)
self.present(documentPicker, animated: true)
}
Я думал, что это будет легко, но реальность совсем другая.Интеграция Google Диска с приложением Files кажется очень слабой.У меня следующие проблемы с Google Drive:
Blocker 1 - При выборе папки Google Drive, на которую я хочу экспортировать файлы, я получаю следующее системное предупреждение: The Operation Can't Be Completed. Couldn't communicate with the helper application
Blocker 2 - При представлении UIDocumentPickerViewController
список облачных провайдеров иногда неактивен.
Blocker 3 - Если напрямую из Files App
я пытаюсь переместить папку (с 100 элементами, например) в Google Drive, она также не работает.Только некоторые файлы копируются, а не с оригинальной структурой папок.Просто беспорядок.
Итак, мой первый вопрос: я должен сделать что-то другое с UIDocumentPickerViewController
, чтобы избежать Blocker 1 ?
Второй вопрос: есть лилюбой другой способ экспортировать несколько файлов (более 100) в учетную запись Google Drive пользователя?У меня нет идей.