返回顶部

收藏

程序内调用本地打电话功能-make a phone call

更多

利用openURL接口来调用打电话功能。代码还具备根据正则表达式判断电话好吗输入的合法性。

- (void)makeCall:(NSString *)number
{
 NSString *txt = number;
 NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"[0-9]{4}[-]{0,1}[0-9]{4}?" options:NSRegularExpressionSearch error:nil];
 NSTextCheckingResult *result = [regex firstMatchInString:txt options:0 range:NSMakeRange(0, [txt length])];
 NSString *cleanedString = [[[txt substringWithRange:[result range]] componentsSeparatedByCharactersInSet:[[NSCharacterSet characterSetWithCharactersInString:@"0123456789-+()"] invertedSet]] componentsJoinedByString:@""];
 NSString *escapedPhoneNumber = [cleanedString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
 NSURL *telURL = [NSURL URLWithString:[NSString stringWithFormat:@"tel://%@", escapedPhoneNumber]];
 [[UIApplication sharedApplication] openURL:telURL];
}
//该片段来自于http://outofmemory.cn

标签:objective-c,手机开发

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. 博主 发表 2013-04-13 23:08:00 CocoaPods
  2. 排云鹤 发表 2014-06-15 12:34:08 在Swift项目中使用CocoaPods
  3. Volcano 发表 2013-10-11 01:18:43 iBeacons
  4. 博主 发表 2012-03-06 07:26:00 Objective-C Runtime
  5. Octree 发表 2015-04-16 08:41:40 Associated Object 为对象添加键值数据
  6. Li Qingyao 发表 2014-10-17 03:00:12 如何成为更好的 iOS 开发者
  7. 阿KUN 发表 2015-07-05 04:14:42 创建一个cocoapod的library
  8. Parker Liu 发表 2015-09-22 02:50:22 Convert Emoji Text to UIImage
  9. 博主 发表 2015-12-04 12:54:01 C++11/C++14 中的 Lambda 与 Objective-C 中的 Block
  10. 博主 发表 2016-03-17 02:25:18 你是否依然应该学习 Objective-C 呢?
  11. 博主 发表 2016-07-24 15:52:37 Method Swizzling的各种姿势
  12. Parker Liu 发表 2015-05-14 09:44:25 Watch Kit 初探

发表评论