Ваш почти там!
QLPreviewController нужен QLPreviewControllerDataSource
реализует <QLPreviewControllerDataSource>
и добавляет две функции:
- (NSInteger) numberOfPreviewItemsInPreviewController: (QLPreviewController *) controller
{
return 1; //number of documents, usually you use a array with document url's
}
- (id <QLPreviewItem>) previewController: (QLPreviewController *) controller previewItemAtIndex: (NSInteger) index
{
return [NSURL fileURLWithPath:@"document.pdf"]; //other documents are supported too
}
Ваше видениечто второй метод возвращает QLPreviewItem (как вы видите, он работает и с обычными URL)
Я надеюсь, что помог вам немного дальше