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:
Я хотел бы, чтобы исключение было бы немного более полезным в этом случае:)