Несоответствие поставщика документов
Я использую новую функцию поставщика документов, чтобы попытаться экспортировать файлы в сторонние облачные службы:
UIDocumentMenuViewController* activity = [[UIDocumentMenuViewController alloc] initWithURL:writer.file
inMode:UIDocumentPickerModeExportToService];
Когда я запускаю это, я вижу iCloud, Google Drive и Dropbox в качестве опции (и они, кажется, работают). Что я не вижу, хотя у меня установлено приложение, так это Box.
Что более странно, что когда я использую UIDocumentPickerModeOpen
Box появляется вместе с iCloud, но Dropbox и Google Drive отсутствуют. Я не могу открыть файл ни от одного провайдера, хотя; это не позволит мне выбрать мой собственный тип документа. В другом приложении, где я просто экспортирую CSV-файл, кажется, работает без проблем для всех поставщиков.
Файл использует пользовательский тип файла, который, как я предполагаю, является частью проблемы. Здесь есть и другие вопросы, и я считаю, что правильно выполнил инструкции.
Я пропустил шаг при добавлении пользовательского типа файла? Есть ли другие варианты при создании меню документа? Есть ли ошибки в поставщиках документов? (Я отмечаю, что это работает во всех случаях с iCloud Drive.)
1 ответ
На данный момент только iCloud Drive поддерживает все четыре режима: импорт, экспорт, открытие и перемещение. Dropbox и Google Drive не поддерживают открытие. Коробка поддерживает открытую. Я не думаю, что мы, разработчики, можем многое сделать, кроме как ждать, пока все облачные провайдеры поддержат все режимы.
Я также использую пользовательский UTI, и этот параметр работает для меня. Я могу выбрать файл.qvlibrary с iCloud Drive и открыть его с помощью защищенного URL-адреса. Не забудьте позвонить -[NSURL startAccessingSecurityScopedResource]
перед доступом к файлам или каталогам.