UIDocumentMenuViewController initWithDocumentTypes:inMode: может вызываться только в режиме импорта или открытия

В моем приложении для iOS я открываю UIDocumentMenuViewController, Когда я позвонил с UIDocumentPickerModeImport режим, все работает нормально (все мои права на iCloud настроены).

Когда я звоню с UIDocumentPickerModeExportToServiceОднако приложение вылетает с этой ошибкой:

Ошибка подтверждения в -[UIDocumentMenuViewController initWithDocumentTypes:inMode:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit/UIKit-3600.6.22/UIDocumentMenuViewController.m:71

Завершение работы приложения из-за необработанного исключения "NSInternalInconsistencyException", причина: "- [UIDocumentMenuViewController initWithDocumentTypes: inMode:] может вызываться только в режиме импорта или открытия"

Что я делаю неправильно? Почему это можно вызвать только в режимах импорта или открытия?

Мой код:

UIDocumentMenuViewController *exportMenu = [[UIDocumentMenuViewController alloc] initWithDocumentTypes:@[@"public.image"]
                                                                                                    inMode:UIDocumentPickerModeExportToService];

exportMenu.delegate = self;
[self presentViewController:exportMenu animated:YES completion:nil];

Это происходит в симуляторе и на двух протестированных мной устройствах (оба работают под управлением iOS 10).

Любая помощь будет оценена!

1 ответ

Решение

Я только что нашел ответ: при экспорте вам нужно использовать другой метод инициализации: initWithURL:inMode:

Я хотел бы, чтобы исключение было бы немного более полезным в этом случае:)

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