1

私のアプリでは、UIDocumentInteractionController を使用して PDF ドキュメントをアクロバット リーダー (または他のビューア) で開きますが、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 に答える