Onelong

分享知识,与你一起进步......
RSS icon Home icon
  • ios 分享代码段

    post by onelong / 2014-1-19 23:22 Sunday [apple]

    1、调用 自带mail

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://admin@hzlzh.com"]];

     

    2、调用 电话phone

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://8008808888"]];

     

    3、调用 SMS

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://800888"]];

     

    4、调用自带 浏览器 safari

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.hzlzh.com"]];

     

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

     

    若需要传递内容可以做如下操作:

    加入:MessageUI.framework

     

    #import <MessageUI/MFMessageComposeViewController.h>

     

    实现代理:MFMessageComposeViewControllerDelegate

     

     

     

    调用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就ok了

     

     

     NSArray *nibViews=[[NSBundle mainBundle] loadNibNamed:@"Empty" owner:self options:nil]; //通过这个方法,取得我们的视图

            subView=[nibViews objectAtIndex:0];

     

     UIViewController *con=[[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil] 

     

    instantiateViewControllerWithIdentifier:@"dongtai"]; //获得控制器

     

    //取得本地程序的版本号    

    NSDictionary *localDic =[[NSBundle mainBundle] infoDictionary];

                 NSString *localVersion =[localDic objectForKey:@"CFBundleShortVersionString"];

     

    系统通讯录 允许message 

    调用系统通讯录,会弹出一个alertview,内容是某某想访问您的通讯录,如果要显示更详细的信息,需要在info.plist文件里增加一个 

    Privacy - Contacts Usage Description 值写上具体内容即可。

    标签: ios
    引用地址:
     

    我要评论