3

我的应用程序中有一些 PDF。我想提供一个选项来在可能安装在设备上的其他第三方电子阅读器应用程序中打开这些 PDF,例如 Stanza 和 iBooks。Dropbox 应用程序已成功实现此功能,但我找不到任何有关如何检测设备上可用的其他电子阅读器或这些应用程序的自定义 url 方案的信息。任何帮助将不胜感激。提前谢谢你们。

4

3 回答 3

2

电子书

NSString *stringURL = @"itms-books:";

NSURL *url = [NSURL URLWithString:stringURL];

[[UIApplication sharedApplication] openURL:url];

NSString *stringURL = @"itms-bookss:";

NSURL *url = [NSURL URLWithString:stringURL];

[[UIApplication sharedApplication] openURL:url];
于 2011-06-10T14:51:03.227 回答
0

首先你需要像这样创建一个 NSURL 对象:

NSURL *url = [NSURL fileURLWithPath:file.FileName];

file.FileName --> your local file path where the document is stored in the local db.

UIDocumentInteractionController    *docController = [UIDocumentInteractionController interactionControllerWithURL:url];

docController.delegate = self;

[docController retain];

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

需要实现以下委托方法:

-(void)documentInteractionController:(UIDocumentInteractionController *)controller willBeginSendingToApplication:(NSString *)application
{

}

- (void)documentInteractionController:(UIDocumentInteractionController *)controller didEndSendingToApplication:(NSString *)application
{

}

- (void)documentInteractionControllerDidDismissOpenInMenu:(UIDocumentInteractionController *)controller
{

}
于 2012-06-28T10:39:33.177 回答
-1

您不需要检测其他应用程序,您需要知道可以打开它们的 url。

像这样的调用:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.apple.com"]];

告诉手机在任何处理 http/html 请求的应用程序中打开页面,即 safari。iBooks 有自己的 url 格式,希望你能找到。

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"ebook://iRobot.pdf"]];

注意:这是不正确的,只是为了说明不同的 url 方案。

于 2010-07-29T02:16:59.640 回答