融智技术学院

 找回密码
 注册
Xamarin iOS开发实战套装
查看: 369|回复: 0

【iPhone每日一问】如何在一个应用程序中拨打电话?

[复制链接]
MrLi 发表于 2014-4-2 15:00:02 | 显示全部楼层 |阅读模式

问:
我有一些代码,它尝试在应用程序中进行呼叫,但是它似乎不能运行,代码如下:
  1.    UIApplication *myApp = [UIApplication sharedApplication];
  2.     NSString *theCall = [NSString stringWithFormat:@"tel://%@",phone];
  3.     NSLog(@"making call with %@",theCall);
  4. [myApp openURL:[NSURL URLWithString:theCall]];
复制代码
有时,变量phone]是一个类似与@"(102) 222-2222"的东西。我如何可以调用一个像这样的电话号码?我是否需要手动提取数字出来,并摆脱所有多余的标点符号?

是啊,你需要采用那些提取出数字。或者使用以下的方法:
  1. NSString *cleanedString = [[phoneNumber componentsSeparatedByCharactersInSet:[[NSCharacterSet characterSetWithCharactersInString:@"0123456789-+()"] invertedSet]] componentsJoinedByString:@""];
  2. NSURL *telURL = [NSURL URLWithString:[NSString stringWithFormat:@"tel:%@", cleanedString]];
复制代码
注意:你可以试图使用-stringByTrimmingCharactersInSet:方法,但是它只删除字符串中开始和结束的字符串,如果他们没有出现在中间的话。
温馨提示:您的支持与理解,是我们工作最大的动力。如果您是从网上购买的图书,请在对应的网店,给予本书一个好评,我们将衷心感谢!!!
以下是《清华出版零点起飞学iPhone开发》对应的购书评论地址:
当当网:http://product.dangdang.com/23297241.html
亚马逊:http://www.amazon.cn/dp/B00E1C0TB8
京东网:http://item.jd.com/11282494.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

新突破电商

小黑屋|手机版|Archiver|融智技术学院 ( 京ICP备09018999号 )

GMT+8, 2019-4-18 21:14

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表