从我的应用程序打开iBooks

时间:2010-07-29 01:57:04

标签: iphone sdk uiwebview dropbox ibooks

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

4 个答案:

答案 0 :(得分:4)

答案 1 :(得分:2)

的iBooks

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];

答案 2 :(得分: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
{

}

答案 3 :(得分:-1)

您无需检测其他应用,您需要知道可以打开它们的网址。

这样的电话:

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

告诉手机在任何处理http / html请求的app中打开页面。 iBooks有自己的网址格式,希望你可以追踪。

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

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