iOS调用系统的拨号功能

最近在做VOIP网络电话,其中有个需求就是网络质量不好的情况下需要调用系统的打电话功能,也就是运营商电话(这个有个专业术语PSTN)。我从网上找了两个方法,都能实现这个功能,测试通过的。两个方法稍微有点点不通。

方法一:直接拨打,好比是在通话记录中直接拨打选中的号码

-(void)system_makeCall:(NSString *) callNumber{
    //获取目标号码字符串,转换成URL
    NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"tel://%@",callNumber]];
    //调用系统方法拨号
    [[UIApplication sharedApplication] openURL:url];
}

方法二:弹框提示,就像是在通话记录中拨打选中的号码时会弹出一个提示框,然后点击呼叫才会拨打电话

//拨打电话会弹框提示,不建议用
-(void)system_makeCall:(NSString *) callNumber vc:(UIViewController *) vc{
    UIWebView *callWebview =[[UIWebView alloc] init];
    NSURL *telURL =[NSURL URLWithString:[NSString stringWithFormat:@"tel:%@",callNumber]];
    [callWebview loadRequest:[NSURLRequest requestWithURL:telURL]];
    //记得添加到view上
    [vc.view addSubview:callWebview];
}

有图片比较直观,可能文字描述的不太清楚,后续我把效果图补上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值