3

我有一个观点,当点击时,应该提示用户拨打电话。我正在尝试使用以下代码:

     NSString *phoneNumber = [@"tel://" stringByAppendingString:locPhone];
    NSString *phoneString = [phoneNumber stringByReplacingOccurrencesOfString:@" " withString:@""];
    phoneString= [phoneString stringByReplacingOccurrencesOfString:@"(" withString:@""];
    phoneString= [phoneString stringByReplacingOccurrencesOfString:@")" withString:@""];
    phoneString= [phoneString stringByReplacingOccurrencesOfString:@"-" withString:@""];
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneString]];

我知道代码已到达,并且“phoneString”的最终值是一个 10 位数的电话号码。没有错误,但没有任何反应。我错过了什么?

编辑:我现在看到 canOpenURL 返回 NO。这是因为我在模拟器上运行它吗?

4

1 回答 1

2

您的代码似乎正确,但请注意模拟器无法模拟电话(canOpenURL在模拟器上测试它会返回NO)。

您应该在实际设备上测试您的代码,您可能会看到它按预期工作。

顺便说一句,您确实应该canOpenURL在您的应用程序中添加测试,并在这种情况下向用户显示一些警报,因为用户可能会在 iPod 设备或 iPad 上运行您的应用程序,并且两者都不能进行电话呼叫。

于 2012-10-08T17:46:33.053 回答