iOS 中获得本机号,拨打电话,发送短信

来源:互联网 发布:手机淘宝咋改手机号 编辑:程序博客网 时间:2024/06/02 10:09
1. 获得本机号码:
首先引入“CoreTelephony.framework”框架;
然后,一行代码获得本机手机号:
NSString *telphoneStr =  CTSettingCopyMyPhoneNumber();
拨打电话:

NSString *phoneNum = @“150011xxxx”;// 电话号码

        NSURL *phoneURL = [NSURL URLWithString:[NSString stringWithFormat:@"tel:%@",phoneNum]];

        // 这个webView只是一个后台的,不需要add到页面上来,合法;

        UIWebView *phoneCallWebView = [[UIWebView alloc] initWithFrame:CGRectZero];

        [phoneCallWebView loadRequest:[NSURLRequest requestWithURL:phoneURL]];

       拨打电话参考:http://blog.sina.com.cn/s/blog_65a8ab5d01017nlg.html
2. 发送短信:
1)[[UIApplication sharedApplication] openURL:@"sms:12345678"]; 

这样的方式无法指定短信内容。

2)可以使用MessageUI框架。

首先在程序中导入MessageUI.framework。import头文件:#import "DeviceDetection.h"

然后在代码中使用下面的语句来调用短信发送窗口,并指定号码和短信内容:

MFMessageComposeViewController *controller = [[[MFMessageComposeViewController alloc] init] autorelease];controller.body = @"zc";controller.recipients = [NSArray arrayWithObjects:@"106295598", nil];controller.messageComposeDelegate = self;[self presentModalViewController:controller animated:YES];

同时实现协议MFMessageComposeViewControllerDelegate, 在协议方法messageComposeViewController:didFinishWithResult:

switch (result) {    case MessageComposeResultCancelled:        NSLog(@"Cancelled");        break;    case MessageComposeResultFailed:        [self alert:@"发送短信错误!"];        break;    case MessageComposeResultSent:        break;    default:        break;}[self dismissModalViewControllerAnimated:YES];