2014-01-06 3 views
1

Я помещаю UIDocumentInteractionController в свое приложение, которое может загружать произвольные типы файлов с сервера.Какие типы файлов могут просматривать UIDocumentInteractionController?

Это там для двух целей:

  1. Чтобы разрешить пользователю «Открыть в» файл в другое приложение, которое может быть в состоянии, чтобы просмотреть файл.
  2. Чтобы просмотреть файлы, которые можно просмотреть в встроенном UIDocumentInteractionController.

То, что я хотел бы сделать, - это только просмотреть предварительный просмотр типов файлов, которые система может просматривать. Например, если это zip-файл, система не может просмотреть это, поэтому я хочу перейти прямо к «Open In».

Я не могу найти нигде список типов, поддерживаемых для предварительного просмотра.

Вот мой код:

self.docController = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:path]]; 
[self.docController setDelegate:self]; 

// I'd like to skip this line if the system can't preview the file.  

BOOL isOpen = [self.docController presentPreviewAnimated:YES]; 
if (!isOpen) { 
    BOOL canOpen = [self.docController presentOpenInMenuFromRect:CGRectMake(300, 300, 100, 100) 
                  inView:self.view 
                 animated:NO]; 
    if (!canOpen) { 
      // tell user to install an app that's able to open this file. 
      return; 
    } 
} 

ответ

5

Метод presentPreviewAnimated: возвращает значение BOOL (YES, если это удается просмотреть и NO для не управления), так что вы можете:

if (![self.docController presentPreviewAnimated:YES]) 
{ 
    //present openIn 
} 
+0

Спасибо за ответ. К сожалению, этот метод возвращает «YES» для zip-файла. Я полагаю, система думает, что * может * просмотреть файл ZIP, так как он показывает имя файла и размер файла. Возможно, это невозможно? –

+0

Если только zip-файл является вашей проблемой, добавьте проверку, если файл для предварительного просмотра является zip-файлом, а затем, если да, openIn и не просматривайте –

+0

Спасибо за помощь. Файлы могут быть любого типа, поэтому я просто буду жить с системой, иногда показывающей предварительный просмотр таких вещей, как zip и, возможно, другие. –

Смежные вопросы