在相应的代码中写入:
1、调用 电话phone
1 | [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://4008008288"]]; |
2、调用自带 浏览器 safari
1 | [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.abt.com"]]; |
3、调用 自带mail
1 | [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://admin@abt.com"]]; |
4、调用 SMS
1 | [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://800888"]]; |
5,跳转到系统设置相关界面
1 | [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=WIFI"]]; |
其中,发短信,发Email的功能只能填写要发送的地址或号码,无法初始化发送内容,如果想实现内容的话,还需要更复杂一些,实现其各自的委托方法。
若需要传递内容可以做如下操作:
加入:MessageUI.framework
1 | #import <messageui /MFMessageComposeViewController.h></messageui> |
实现代理:MFMessageComposeViewControllerDelegate
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | 调用sendSMS函数 //内容,收件人列表 - (void)sendSMS:(NSString *)bodyOfMessage recipientList:(NSArray *)recipients { ?? ????MFMessageComposeViewController *controller = [[[MFMessageComposeViewController alloc] init] autorelease]; ?? ????if([MFMessageComposeViewController canSendText]) ?? ????{ ?? ????????controller.body = bodyOfMessage;?? ?? ????????controller.recipients = recipients; ?? ????????controller.messageComposeDelegate = self; ?? ????????[self presentModalViewController:controller animated:YES]; ?? ????}?? ?? } ?? // 处理发送完的响应结果 - (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result { ??[self dismissModalViewControllerAnimated:YES]; ?? ??if (result == MessageComposeResultCancelled) ????NSLog(@"Message cancelled") ??else if (result == MessageComposeResultSent) ????NSLog(@"Message sent")? ??else ????NSLog(@"Message failed")? } ?? ?? 发送邮件的为: 导入#import <MessageUI/MFMailComposeViewController.h> 实现代理:MFMailComposeViewControllerDelegate ?? //发送邮件 -(void)sendMail:(NSString *)subject content:(NSString *)content{ ?? ????MFMailComposeViewController *controller = [[[MFMailComposeViewController alloc] init] autorelease]; ?? ????if([MFMailComposeViewController canSendMail]) ?? ????{ ?? ????????[controller setSubject:subject]; ?? ????????[controller setMessageBody:content isHTML:NO]; ?? ????????controller.mailComposeDelegate = self; ?? ????????[self presentModalViewController:controller animated:YES]; ?? ????}??? } ?? //邮件完成处理 -(void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error{ ?? ????[self dismissModalViewControllerAnimated:YES]; ?? ????if (result == MessageComposeResultCancelled) ????????NSLog(@"Message cancelled"); ????else if (result == MessageComposeResultSent) ????????NSLog(@"Message sent"); ????else ????????NSLog(@"Message failed");? ?? } ?? 默认发送短信的界面为英文的,解决办法为:在.xib 中的Localization添加一組chinese |
http://guod.me/hi/collamask-2.html