iPhone模拟器在3.0中没有显示错误,但在2.0中显示

时间:2009-08-08 04:18:44

标签: iphone iphone-sdk-3.0

我正在编写一个包含以下代码的教程:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://8004664411"]];

当程序在3.0 Framework中编译并运行该行代码时,没有任何反应。但是,如果程序是使用2.0 Framework构建的,那么代码行会导致弹出窗口显示:

“不支持的网址 未加载此网址: 电话:// 8004664411"

有谁可以解释为什么3.0中没有出现错误?

2 个答案:

答案 0 :(得分:3)

我不知道你为什么只看到2.0框架版本中的错误。使用Xcode Simulator时,电话链接始终被忽略。

无论如何,在尝试使用canOpenURL类方法拨打电话号码之前,让您的应用程序检查电话网址方案是否受支持是一种好习惯;


NSString *zeURL = @"tel://8004664411";

if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:zeURL]]) {
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:zeURL]];
} else { 
    //show own error message dialog
}

答案 1 :(得分:2)

而且,根据最近的经验,如果您没有正确处理不支持tel://的硬件,您将在App Store批准过程中拒绝您的应用。

我有一个按钮放在那里,iPod和模拟器不会崩溃,但它们什么都不做。如果在不支持该设备的设备上运行,则应检测并删除该按钮。

我想让自己放手让自己过来。