您的位置:首页 > 移动开发 > IOS开发

ios 发短息 发邮件 打电话

2016-03-18 15:27 337 查看
官方代码

发短息和邮件添加MessageUI.framework 库

发送信息

- (IBAction)showSMSPicker:(id)sender

{

// You must check that the current device can send SMS messages before you

// attempt to create an instance of MFMessageComposeViewController.  If the

// device can not send SMS messages,

// [[MFMessageComposeViewController alloc] init] will return nil.  Your app

// will crash when it calls -presentViewController:animated:completion: with

// a nil view controller.

if ([MFMessageComposeViewControllercanSendText])

// The device can send email.

{

[self displaySMSComposerSheet];

}

else

// The device can not send email.

{

self.feedbackMsg.hidden =NO;

self.feedbackMsg.text = @"Device not configured to send SMS.";

}

- (void)displaySMSComposerSheet

{

MFMessageComposeViewController *picker = [[MFMessageComposeViewController alloc] init];

picker.messageComposeDelegate =self;

picker.navigationBar.tintColor = [UIColor blackColor];

picker.recipients = [NSArray arrayWithObject:@"186888888"];

picker.body =@"Hello from California!";

[self presentViewController:picker animated:YES completion:NULL];

}

// -------------------------------------------------------------------------------

// messageComposeViewController:didFinishWithResult:

//  Dismisses the message composition interface when users tap Cancel or Send.

//  Proceeds to update the feedback message field with the result of the

//  operation.

// -------------------------------------------------------------------------------

- (void)messageComposeViewController:(MFMessageComposeViewController *)controller

didFinishWithResult:(MessageComposeResult)result

{

self.feedbackMsg.hidden =NO;

// Notifies users about errors associated with the interface

switch (result)

{

caseMessageComposeResultCancelled:

self.feedbackMsg.text = @"Result: SMS sending canceled";

break;

caseMessageComposeResultSent:

self.feedbackMsg.text = @"Result: SMS sent";

break;

caseMessageComposeResultFailed:

self.feedbackMsg.text = @"Result: SMS sending failed";

break;

default:

self.feedbackMsg.text = @"Result: SMS not sent";

break;

}

[self dismissViewControllerAnimated:YES completion:NULL];

}

发送邮件

- (IBAction)showMailPicker:(id)sender

{

// You must check that the current device can send email messages before you

// attempt to create an instance of MFMailComposeViewController.  If the

// device can not send email messages,

// [[MFMailComposeViewController alloc] init] will return nil.  Your app

// will crash when it calls -presentViewController:animated:completion: with

// a nil view controller.

if ([MFMailComposeViewControllercanSendMail])

// The device can send email.

{

[self displayMailComposerSheet];

}

else

// The device can not send email.

{

self.feedbackMsg.hidden =NO;

self.feedbackMsg.text =@"Device not configured to send mail.";

}

}

#pragma mark - Compose Mail/SMS

// -------------------------------------------------------------------------------

// displayMailComposerSheet

//  Displays an email composition interface inside the application.

//  Populates all the Mail fields.

// -------------------------------------------------------------------------------

- (void)displayMailComposerSheet

{

MFMailComposeViewController *picker = [[MFMailComposeViewControlleralloc] init];

picker.mailComposeDelegate =self;

[picker setSubject:@"Hello from California!"];

// Set up recipients

NSArray *toRecipients = [NSArray arrayWithObject:@"first@example.com"];

NSArray *ccRecipients = [NSArray arrayWithObjects:@"second@example.com",@"third@example.com", nil];

NSArray *bccRecipients = [NSArray arrayWithObject:@"fourth@example.com"];

[picker setToRecipients:toRecipients];

[picker setCcRecipients:ccRecipients];

[picker setBccRecipients:bccRecipients];

// Attach an image to the email

NSString *path = [[NSBundle mainBundle] pathForResource:@"rainy"ofType:@"jpg"];

NSData *myData = [NSData dataWithContentsOfFile:path];

[picker addAttachmentData:myData mimeType:@"image/jpeg"fileName:@"rainy"];

// Fill out the email body text

NSString *emailBody =@"It is raining in sunny California!";

[picker setMessageBody:emailBody isHTML:NO];

[self presentViewController:picker animated:YES completion:NULL];

}

#pragma mark - Delegate Methods

// -------------------------------------------------------------------------------

// mailComposeController:didFinishWithResult:

//  Dismisses the email composition interface when users tap Cancel or Send.

//  Proceeds to update the message field with the result of the operation.

// -------------------------------------------------------------------------------

- (void)mailComposeController:(MFMailComposeViewController*)controller

didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error

{

self.feedbackMsg.hidden =NO;

// Notifies users about errors associated with the interface

switch (result)

{

caseMFMailComposeResultCancelled:

self.feedbackMsg.text = @"Result: Mail sending canceled";

break;

caseMFMailComposeResultSaved:

self.feedbackMsg.text = @"Result: Mail saved";

break;

caseMFMailComposeResultSent:

self.feedbackMsg.text = @"Result: Mail sent";

break;

caseMFMailComposeResultFailed:

self.feedbackMsg.text = @"Result: Mail sending failed";

break;

default:

self.feedbackMsg.text = @"Result: Mail not sent";

break;

}

[self dismissViewControllerAnimated:YES completion:NULL];

}

打电话 我只写了一种简单的方式 还有其他的

添加  AddressBookUI.framework 库

#import <AddressBook/AddressBook.h>

#import <AddressBook/ABMultiValue.h>

#import <AddressBook/ABRecord.h>

- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath

{

NSString *key = [keyArray objectAtIndex:indexPath.row];

NSArray *array = [tableDataDictionary objectForKey:key];

NSString *phoneNum = [array objectAtIndex:1];//电话号码

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

if ( !_phoneCallWebView ) {

_phoneCallWebView = [[UIWebView alloc] initWithFrame:CGRectZero];

}

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

}


原文地址:http://blog.csdn.net/lengshengren/article/details/11575511
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: