Sian 发表于 2014-9-22 09:39:06

IOS 开发,调用系统功能打电话,发短信,群发短信,打开网址,发邮件等自带功能

1、调用 自带mail
[ openURL:];

2、调用 电话phone
[ openURL:];

3、调用 SMS
[ openURL:];

4、调用自带 浏览器 safari
[ openURL:];

调用phone可以传递号码,调用SMS 只能设定号码,不能初始化SMS内容。

若需要传递内容或群发可以做如下操作:
加入:MessageUI.framework

#import <MessageUI/MFMessageComposeViewController.h>

实现代理:MFMessageComposeViewControllerDelegate
调用sendSMS函数
//内容,收件人列表
- (void)sendSMS:(NSString *)bodyOfMessage recipientList:(NSArray *)recipients
{
   
    MFMessageComposeViewController *controller = [ init];
   
    if(){
      
      controller.body = bodyOfMessage;
      
      controller.recipients = recipients;
      
      controller.messageComposeDelegate = self;
      
      ;
      
    }   
   
}
// 处理发送完的响应结果
- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
{
;

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 = [[ init] autorelease];

    if()

    {

      ;

      ;

      controller.mailComposeDelegate = self;

      ;

    }   
}
//邮件完成处理
-(void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error{

    ;

    if (result == MessageComposeResultCancelled)
      NSLog(@"Message cancelled");
    else if (result == MessageComposeResultSent)
      NSLog(@"Message sent");
    else
      NSLog(@"Message failed");

}
默认发送短信的界面为英文的,解决办法为:
在.xib 中的Localization添加一组chinese就ok了

页: [1]
查看完整版本: IOS 开发,调用系统功能打电话,发短信,群发短信,打开网址,发邮件等自带功能