0

私はかなり絶望的UIDocumentInteractionControllerです。私がしたい唯一のことは、自分のアプリから PDF ファイルを、PDF 用に登録されている他のすべてのアプリと共有することです。

これは私のコードです:

NSString * filePath = [[NSBundle mainBundle] pathForResource:@"Sample" ofType:@"pdf"];
self.docController = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:filePath]];
self.docController.delegate = self;

NSURL *url = [NSURL fileURLWithPath:filePath];
BOOL isValid = [[UIApplication sharedApplication] canOpenURL:url];
NSLog(@"uti: %@", [self.docController UTI]);

//[self.docController presentOpenInMenuFromRect:CGRectZero inView:self.view animated:YES];
[self.docController presentOpenInMenuFromBarButtonItem:self.backBut animated:YES];

isValid変数は常に TRUE であり、UTI は com.adobe.pdf としてログに記録されます (これは正しいようです) が、presentOpenFrom...両方の呼び出し (1 つがコメントされています) を呼び出すと、常に NO が返されます。

シミュレーターでテストしていますが、それが問題ですか? 誰かがコードに何か問題があると思いますか、または何をチェックすべきか考えていますか?

4

3 に答える 3

0

これを試して:

NSString* path = [[NSBundle mainBundle] pathForResource:@"sample" ofType:@"pdf"];
if (path) {
    NSURL* url = [NSURL fileURLWithPath:path];
    UIDocumentInteractionController* docController = [UIDocumentInteractionController interactionControllerWithURL:url];
    docController.delegate = self;
    [docController presentPreviewAnimated:YES];
}
于 2013-01-09T13:17:02.827 に答える