8

我实际上是在尝试通过 openURL 拨打 2 位电话号码(适用于 3 位以上的数字)。

在 IOS 6 上,我使用了 hack,如下所示:

if (self.numberToCall.length < 3) {
    self.numberToCall = [NSString stringWithFormat:@"%@?000", self.numberToCall];
}    

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel://%@", self.numberToCall]]];

不能在 IOS 7 上工作(什么都不做)。

有人有解决方案吗?

4

2 回答 2

2

我找到了一个解决方案:

tel://18;18

它适用于 iOS6 和 iOS7

“;” 用于电话上下文http://www.ietf.org/rfc/rfc2806.txt

显示的电话号码是 18;18,但它拨打了电话。

于 2013-11-29T06:28:03.410 回答
1

您可以尝试附加一个暂停,如tel:42p,这将显示为42,。不是很好,但一种解决方法。看起来 Apple 在这方面遇到了很多问题,因为 iOS 版本之间的行为变化如此频繁。

于 2013-11-26T14:49:10.570 回答