0

我正在使用http://www.vfr.org/、pdf 查看器,并尝试添加一个按钮以在 IBOOK 中打开 PDF。

我向它添加了按钮和操作,但是当我想用这个 pdf 打开 ibooks 应用程序时,我卡住了。

我尝试了 2 个解决方案:

  1. 按钮点击动作:

    NSURL *fileURL = document.fileURL;
    NSString *fileName = document.fileName; // Document
    [[UIApplication sharedApplication] openURL:fileURL];
    

它会打开 IBOOKS,但永远不会加载 PDF。

我假设 URL 格式可能是错误的我什至尝试对 PDF URL 进行硬编码,例如:

NSString *stringURL = @"itms-books://linktopdf.pdf";     
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

但同样的结果。

2)按钮点击动作:

    NSURL *fileURL = document.fileURL;
    NSString *fileName = document.fileName; // Document
    UIDocumentInteractionController *docController = [[UIDocumentInteractionController alloc] init];
    docController = [UIDocumentInteractionController interactionControllerWithURL:fileURL];
    docController.delegate = self;

但是我在尝试委派的地方有一个警告: docController.delegate = self;

assigning to id UIDocumentInteractionControllerDelegate from Incompatible ReaderViewController

有人可以帮助我使其至少在其中一种解决方案中起作用。

4

2 回答 2

1

ReaderViewController在头文件中是否有这种行:@interface ReaderViewController : NSObject < UIDocumentInteractionControllerDelegate >

于 2013-02-12T14:41:38.540 回答
0

你的类必须符合UIDocumentInteractionControllerDelegate 协议,所以在你的.h 文件中让它看起来像

@interface ReaderViewController : PerantClass <UIDocumentInteractionControllerDelegate>
{

...

}

然后编译器会知道你的类符合那个协议。当然,您仍然需要实现所需的方法。

还检查此链接 - 1链接 - 2。

于 2013-02-12T14:46:46.930 回答