在iOS中打开Safari中的本地PDF

假设myURL指向通过执行获得的PDF:

myURL = [[NSBundle mainBundle] URLForResource:@"my" withExtension:@"PDF"]; 

我可以调用[[UIApplication sharedApplication] canOpenURL:myURL]并看到它返回YES。

但是,当我调用[[UIApplication sharedApplication] openURL:myURL] ,没有任何反应,它返回NO。

有没有办法做这个工作?

是的,我知道我可以使用UIWebView打开PDF,但在这种情况下,如果可能的话,我需要Safari应用程序打开它。 我知道这样做的自然后果将是它退出我的申请。 在这种情况下,这种行为是可以接受的。

谢谢。

目前这是不可能的。

据我所知,将本地PDF文件交给MobileSafari是不可能的。

但是,您可以轻松地将本地PDF文件交给任何充当PDF查看器的本地安装的应用程序。 即,iBooks,GoodReader等。如果这是足够的,你应该看看UIDocumentInteractionController。 它将显示一个应用程序菜单,并让用户select一个打开文件。不幸的是,Safari本身并没有注册为PDF阅读器。

(如果您决定自己提供PDF,则QLPreviewController将显示该文件,并为您提供“发送到其他应用程序”function。)