Что ж, после множества исследований и воссоздания с нуля базового средства просмотра QuickLook я обнаружил, что ошибка все еще регистрируется даже из этого, НО на самом деле отображались документы, которые не были из моего исходного проекта.
Затем я попытался поместить QLPreviewController в NavigationController перед его представлением и столкнулся с той же проблемой. Я обернул QLPreviewController в UINavigationController, прежде чем представить его, потому что это, казалось, был способ назначить navigationItem пользовательскую кнопку. Это отлично работало в iOS 5.1 (как указано выше), но, видимо, в iOS 6.0 это не нравится.
Удаление лишнего кода, который обертывал QLPreviewController в UINavigationController, казалось, позволяло отображать документ.
Пример запакованного контроллера:
QLPreviewController* previewer = [[QLPreviewController alloc] init];
previewer.dataSource = self;
previewer.delegate = self;
[previewer setCurrentPreviewItemIndex:0];
UINavigationController* previewNavCtrl = [[UINavigationController alloc] init];
[previewNavCtrl pushViewController:previewer animated:NO];
[self presentModalViewController:previewNavCtrl animated:YES];
Изменить на:
QLPreviewController* previewer = [[QLPreviewController alloc] init];
previewer.dataSource = self;
previewer.delegate = self;
[previewer setCurrentPreviewItemIndex:0];
[self presentModalViewController:previewer animated:YES];
Примечание: снова ошибка прокси-сервера все еще отображается в журнале, однако
ТАКЖЕ: кажется, что любые настройки UIBarButtonItem больше не работают без NavigationController =/
ОБНОВЛЕНИЕ. Я обнаружил, что использование fileURLWithpath для создания URL-адреса файла для previewItemAtIndex устранило исходную ошибку. Однако та же проблема возникает, когда документ не загружается.
Новая ошибка (которую я видел и у других людей):
Не удалось выдать расширение файла для пути: /Users/me/Library/Application%20Support/iPhone%20Simulator/6.0/Applications/339DDF48-AF93-41B5-B81E-A39440A131C6/Documents/temp/Welcome1.docx
ПОСЛЕДНЕЕ ОБНОВЛЕНИЕ: Итак, проблема/ошибка расширения была вызвана тем, что я пытался вручную добавить %20 к пробелам (используя [NSString stringByAddingPercentEscapesUsingEncoding]
и т. д.), тогда как [NSURL fileURLWithPath]
уже должен это обрабатывать. Как только я удалил это, это сработало, и теперь я на iOS 6, ура! Таким образом, реальная проблема заключалась не в UINavigationController, а в том, что URL-адрес файла передавался через previewItemAtIndex.
person
valheru
schedule
04.10.2012