好吧,我在使用我的应用程序中的IBAction打开iBooks应用程序时遇到问题。我设置它,以便当用户按下按钮时,它会调用此操作来打开iBooks应用程序:
-(IBAction)openBooks:(id)sender
{
NSString *stringURL = "iBooks://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApllication sharedApplication] openURL:url];
}
这使整个应用程序切换这个并且看起来很棒。我看到书架上应该有我所有的书,但是在我的书加载之前iBooks应用程序崩溃了!我写的应用程序没有崩溃,但iBooks失败了!
我正在通过XCode运行我的应用程序(该应用程序实际上并未分发到我的iPad),这就是iBooks崩溃的原因吗?当我触摸iBooks图标打开它(而不是通过我的应用程序)时,它打开正常并且有效。但是,如果我像这样更改我的IBAction中的网址:
NSString *stringURL = "maps://";
然后运行我的应用,我的按钮正常工作,地图就会打开!
这是一个iBook错误吗?或者这是我的错误?
FWIW,我正在使用iOS 6和XCode 4.6.3
答案 0 :(得分:1)
您必须先检查iOS是否可以在打开网址之前打开网址。您的网址方案是错误的(如您的情况)或用户甚至没有安装iBooks。即使您拥有正确的网址,也无法打开它,除非用户安装了与该网址相对应的应用。
NSURL *url = ...
if ([[UIApplication sharedApplication] canOpenURL:url]) {
[[UIApplication sharedApplication] openURL:url];
}
else {
// can't open url
}
答案 1 :(得分:0)