iOS 开发 关于应用中使用拨打电话那点事

一、利用openURL(tel)

特点: 直接拨打, 不弹出提示。 并且, 拨打完以后, 留在通讯录中, 不返回到原来的应用。

- (void)callPhone:(NSString *)phoneNumber

{

    //phoneNumber = "18369......"

    NSMutableString * str=[[NSMutableString alloc] initWithFormat:@"tel:%@",phoneNumber];

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];

}

二、利用requestWithURL (推荐使用)

特点: 拨打前弹出提示。 并且, 拨打完以后会回到原来的应用。

 (void)callPhone:(NSString *)phoneNumber

{

    //phoneNumber = "18369......"

    NSMutableString * str=[[NSMutableString alloc] initWithFormat:@"tel:%@",phoneNumber];

    UIWebView * callWebview = [[UIWebView alloc] init];

    [callWebview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:str]]];

    [self.view addSubview:callWebview];

}

iOS 开发 关于应用中使用拨打电话那点事

时间: 2024-10-22 20:56:27

iOS 开发 关于应用中使用拨打电话那点事的相关文章

iOS开发实战——CollectionView中cell的间距设置

我在前面多篇博客中详细讲解了CollectionView的使用与自定义CollectionViewCell的设计,可以参考<iOS开发实战--CollectionView点击事件与键盘隐藏结合案例><iOS高级开发--CollectionView修改cell的文本及模型重构>这几篇博客.但是今天还是需要来讲讲CollectionView实现中的一个小小的坑,这是我最近在网上浏览时发现很多开发者经常犯的错,所以我觉得有必要来好好谈一谈. 一个CollectionView控件中,两个c

iOS dateformatter设置GMT格式时间--iOS开发系列---项目中成长的知识四

今天在项目中开始接手客户端的签名这个模块,签名这个会在项目结束过后再单独写一下自己的心得! 今天讲讲在签名的过程中我们需要向服务器传送一个Date值,格式要求是格林威治时间,也就是GMT时间! 格式要求是 22 Oct 2015 10:20:35 GMT 而我通过[NSDate Date]获取到的格式是2015-10-22 10:20:35 所以就上网搜寻答案 说的是通过[NSDate Date]这个获取到的时间就是GMT地区的,所以我就觉得是转格式的地方出问题了 但是经过一番尝试后,无论是转格

把所有界面的状态栏字体颜色设置为白色--iOS开发系列---项目中成长的知识一

第一步: 在info.plist中 View controller-based status bar appearance这个属性设置为 View controller-based status bar appearance =NO 这个意思是:View Controller 不对status Bar 显示进行操作 第二步: 由于项目是一个以tabbarController的父类进行开发的;所以在这个父类里面添加如下方法: [[UIApplication sharedApplication] s

IOS开发info.plist中键值的含义

1.     Application does not run in background(鍵名:UIApplicationExistsOnSuspend)自從iOS4.0之後,當你在應用程式執行的時候按下Home鍵,應用程式並不會中斷目前的執行,而是躲到背景去了.因此希望使用者在按下Home鍵之後就要中斷目前程式的執行,請勾選這個選項. 2.     Application requires iPhone environment(鍵名:LSRequiresIPhoneOS)iOS的家族繫ㄌㄧ誒

IOS开发笔记_AFN中多线程依赖

我们平常在开发当中很可能会遇到同时开启两个网络请求,然后把资源下载下来后进行合并操作,那么在AFN中我们究竟要怎么做呢,当然,以下可能写出一些个人的封装技巧,有兴趣的朋友可以发继续关注我. #pragma mark -  getter - (NSOperationQueue *)queue { if (!_queue) { _queue = [[NSOperationQueuealloc]init]; } return_queue; } 这里是我个人对AFN的一个封装类,后面会说到 NSOper

iOS HmacSHA1加密 和 MD5 Base64加密 --iOS开发系列---项目中成长的知识五

项目中开发中需要对一些数据进行加密后和服务器验证是否是我们客户端发出的请求! 方案是服务器定的,使用HmacSHA1加密和MD5 Base64加密 加密过程比较复杂 1.获取格林威治时间 2.用base64编码对请求数据内容进行MD5值计算 3.设置请求格式 4.设置鉴权信息,需要对上面的3个内容以及请求的链接 进行HMacSHA1再次进行加密 加密过后把上面4步获得的值加入到http的请求头中,一并发送给服务器,服务器经过验证后,才返回给我们我们想要的信息 下面贴代码说明我们使用的两个加密 首

iOS开发:Objective-C中通知与协议的区别?

what is difference between NSNotification and protocol? (通知和协议的不同之处?) 我想大家都知道这个东西怎么用,但是更深层次的思考可能就比较少了吧,众所周知就是代理是一对一的,但是通知是可以多对多的.但是为什么是这个样子,有没有更深的思考过这个问题? 今天看了下网上的几个视频教程,KVO.KVC.谓词.通知,算是开发中的高级点的东西了.通知和协议都是类似于回调一样,于是就在思考通知和协议到底有什么不同,或者说什么时候该用通知,什么时候该用

iOS开发--从TQRichTextViewDemo中学会分析工程

下载地址: http://code4app.com/ios/TQRichTextView/5244fe9c6803fa0862000000 1.首先找到AppDelegate类,无论一个工程有多么复杂,多么多的类,但入口只有一个就是AppDelegate类的didFinishLaunchingWithOptions方法.我们阅读别人源代码的时候可以从这里入手.在TQRichTextViewDemo工程中,这个方法中仅创建了一个TQViewController并设置为window的rootView

设置tableview的滚动范围--iOS开发系列---项目中成长的知识三

设置tableview的滚动范围 有时候tableview的footerview上的内容需要向上拖动界面一定距离才能够看见, 项目中因为我需要在footerviw上添加一个按钮,而这个按钮又因为这个原因点不中,所以找到了解决办法! 添加如下方法即可 -(void)scrollViewDidScroll:(UIScrollView *)scrollView { self.tableView.contentSize = CGSizeMake(0,MZT_SCREEN_HEIGHT); }