Несоответствие поставщика документов

Я использую новую функцию поставщика документов, чтобы попытаться экспортировать файлы в сторонние облачные службы:

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] перед доступом к файлам или каталогам.

Пользовательская настройка UTI

Другие вопросы по тегам