我使用了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方案。希望这能有所帮助。