单击UITextView中的电话号码链接时,显示多个通话选项



我使用了UITextView并设置其dataDetectorTypes来检测电话号码。问题是,当我点击电话链接时,我会收到一个提醒,提醒我使用常规的手机应用程序打电话。我想得到设备中所有可用选项的提示(比如Skype、Viber,任何允许打电话的应用程序)。如果你能帮助我,我将非常感谢你的回答。

通过默认手机应用程序拨打电话

NSString *phoneNumber = [@"telprompt://" stringByAppendingString:phoneNoStr];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneNumber]];

要通过Skype拨打电话,您可以使用Skype文档中的此代码

BOOL installed = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"skype:"]];
if(installed)
{
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"skype:echo123?call"]];
}
else
{
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://itunes.com/apps/skype/skype"]];
}

要通过facetime拨打电话,您可以使用类似的url方案

NSURL *url = [NSURL URLWithString:@"facetime://+123456789"];
[[UIApplication sharedApplication] openURL:url];

Viber目前不支持URL方案。希望这能有所帮助。

最新更新