Невозможно выбрать файл страниц с помощью UIDocumentPickerViewController - PullRequest
3 голосов
/ 27 мая 2019

Я использую UIDocumentPickerViewController для выбора документа.Ниже указаны указанные UTI:

NSArray *types = @[(NSString*)kUTTypeImage,(NSString*)kUTTypeSpreadsheet,(NSString*)kUTTypePresentation,(NSString*)kUTTypePDF,(NSString*)kUTTypeRTF,(NSString*)kUTTypePlainText,(NSString*)kUTTypeText];

UIDocumentPickerViewController *dpvc = [[UIDocumentPickerViewController alloc] initWithDocumentTypes:types inMode:UIDocumentPickerModeImport];

Файлы, созданные из приложения страниц (файл страниц), выделены серым цветом и не могут выбрать.Но средство выбора документов WhatsApp позволяет выбирать те же файлы.Мне не хватает требуемого UTI?

Мое приложение:

enter image description here

WhatsApp:

enter image description here

ОБНОВЛЕНИЕ

com.apple.iwork.pages.sffpages сделали трюк для файлов страницна моем устройстве, но не работает с файлами на диске icloud.Полный код для представления средства выбора документов:

-(IBAction)showDocumentPicker:(id)sender
{
    NSArray *types = @[(NSString*)kUTTypeImage,(NSString*)kUTTypeSpreadsheet,(NSString*)kUTTypePresentation,(NSString*)kUTTypePDF,(NSString*)kUTTypeRTF,(NSString*)kUTTypePlainText,(NSString*)kUTTypeText, @"com.apple.iwork.pages.sffpages"];

    UIDocumentPickerViewController *dpvc = [[UIDocumentPickerViewController alloc] initWithDocumentTypes:types inMode:UIDocumentPickerModeImport];

    dpvc.delegate = self;

    //colorFromHex 4285f4
    [[UINavigationBar appearance] setTintColor:[UIColor colorWithRed:66.0/255.0 green:133.0/255.0 blue:244.0/255.0 alpha:1.0]];

    [self presentViewController:dpvc animated:YES completion:nil];
}

1 Ответ

4 голосов
/ 03 июня 2019

На самом деле, существует два разных типа файлов Pages, это может быть пакет или один файл, и я думаю, что вы хотите, чтобы ваше приложение обрабатывало оба.

Соответствующие UTI: com.apple.iwork.pages.sffpages иcom.apple.iwork.pages.pages.

Пример кода для импорта файлов iWork:

NSArray *types = @[@"com.apple.iwork.pages.sffpages", @"com.apple.iwork.pages.pages", @"com.apple.iwork.numbers.numbers", @"com.apple.iwork.keynote.key"];

UIDocumentPickerViewController *dpvc = [[UIDocumentPickerViewController alloc] initWithDocumentTypes:types inMode:UIDocumentPickerModeImport];

Я также рекомендую вам посмотреть этот сеанс WWDC, если у вас все еще есть проблемы с UIDocumentPickerViewController: https://developer.apple.com/videos/play/wwdc2018/216

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...