从iOS6开始,UIDocumentInteractionController不起作用

时间:2013-04-08 14:02:36

标签: iphone ios objective-c

在我的应用程序中,我使用UIDocumentInteractionController将pdf文档打开到acrobat reader(或任何其他查看者)中,但是因为iOS6它不再起作用。

我尝试了很多东西,最后一次来自here

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”,但我有同样的问题。

2 个答案:

答案 0 :(得分:4)

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

@property (nonatomic, strong) UIDocumentInteractionController *docController;

答案 1 :(得分:2)

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

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

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

此外,看起来您正在使用文档文件夹的路径,而不是特定文件的路径。我认为这不会起作用 - 将路径传递给特定文件。