1

在我的应用程序中,我使用 UIDocumentInteractionController 将 pdf 文档打开到 acrobat 阅读器(或任何其他查看器)中,但从 iOS6 开始它不再工作了。

我尝试了很多东西,最后一个来自这里

UIDocumentInteractionController *docController = [[UIDocumentInteractionController alloc]init];
docController = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:documentsDirectory]];
docControler.UTI = @"com.adobe.pdf";
docController.delegate = self;
CGrect navRect = self.view.frame;
[docController presentOpenInMenuFromRect:navRect inView:self.view animated:YES];

当此代码运行时,我的应用程序完全冻结。我尝试使用“presentOpenInMenuFromBarButtonItem”,但我遇到了同样的问题。

4

2 回答 2

4

将控制器分配给强引用的属性:

@property (nonatomic, strong) UIDocumentInteractionController *docController;
于 2013-04-08T14:09:07.307 回答
2

我在 iOS 6 中成功使用了 UIDocumentInteractionController。示例代码:

self.documentInteractionController = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:myPDFPath]];
[self.documentInteractionController presentOpenInMenuFromBarButtonItem:self.actionButton animated:YES];

您需要保留对 UIDocumentInteractionController 的引用,否则它将在其工作完成之前被释放。

此外,您似乎使用的是文档文件夹的路径,而不是特定文件的路径。我认为这行不通 - 将路径传递给特定文件。

于 2013-04-08T14:09:41.590 回答