我正在编写一个包含以下代码的教程:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://8004664411"]];
当程序在3.0 Framework中编译并运行该行代码时,没有任何反应。但是,如果程序是使用2.0 Framework构建的,那么代码行会导致弹出窗口显示:
“不支持的网址 未加载此网址: 电话:// 8004664411"
有谁可以解释为什么3.0中没有出现错误?
答案 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和模拟器不会崩溃,但它们什么都不做。如果在不支持该设备的设备上运行,则应检测并删除该按钮。
我想让自己放手让自己过来。