iOS 常用小功能

  • 打电话
    • [UIApplication sharedApplication] 的 openURL方法
    NSURL *url = [NSURL URLWithString:@"tel://10086"];
    if ([[UIApplication sharedApplication] respondsToSelector:@selector(openURL:options:completionHandler:)]) {
          [[UIApplication sharedApplication] openURL:url
                                             options:@{}
                                   completionHandler:nil];
     } else {
          [[UIApplication sharedApplication] openURL:url];
     }
    
    • 通过 webview 打开
      if (!_webview) {
          _webview = [[UIWebView alloc] initWithFrame:CGRectZero];
          [self.view addSubview:_webview];
      }
      NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"tel://10086"]];
      [_webview loadRequest:request];
    
  • 发短信
    • 打开 message 应用发送
      // 打开 message 发送,不可指定内容
      NSURL *url = [NSURL URLWithString:@"sms://10086"];
      [self openUrl:url];
    
    • MessageUI 内部发送短信,可指定任意内容
      // MessageUI 内部发送短信
      MFMessageComposeViewController *composeVC = [[MFMessageComposeViewController alloc] init];
      composeVC.body = @"套餐";
      composeVC.recipients = @[@"10086"];
      composeVC.messageComposeDelegate = self;
      [self presentViewController:composeVC animated:YES completion:nil];
    
  • 发邮件
    • 打开mail 应用发送
       // 打开自带的 mail 应用发送
      NSURL *url = [NSURL URLWithString:@"mailto://[email protected]"];
      [self openUrl:url];
    
    • MessageUI 应用内发送mail,若本机未登录绑定邮箱会奔溃!
      // MessageUI 内部发送mail
      MFMailComposeViewController *composeVC = [[MFMailComposeViewController alloc] init];
      if (composeVC == nil) {
          NSLog(@"尚未登录邮箱");
          return;
      }
      //composeVC.body = @"套餐";
      [composeVC setToRecipients:@[@"[email protected]"]];
      [composeVC setSubject:@"主题"];
      [composeVC setMessageBody:@"这是一封测试邮件" isHTML:NO];
      composeVC.mailComposeDelegate = self;
      
      UIImage *image = [UIImage imageNamed:@"0.jpg"];
      [composeVC addAttachmentData:UIImageJPEGRepresentation(image, 0.6) mimeType:@"" fileName:@"123.jpg"];
      
      [self presentViewController:composeVC animated:YES completion:nil];
    
  • 打开其他应用,如何查找 url schemes:
    • 下载他人的应用 ipa
    • 修改后缀名为 zip
    • 解压,打开 payload 文件夹
    • 右键 payload 文件夹 下的文件,显示包内容
    • 打开 info.plist 文件
    • url types 的 item0 的 url schemes
    NSURL *url = [NSURL URLWithString:@"weixin://"];
    if ([[UIApplication sharedApplication] respondsToSelector:@selector(openURL:options:completionHandler:)]) {
        [[UIApplication sharedApplication] openURL:url
                                           options:@{}
                                 completionHandler:nil];
    } else {
        [[UIApplication sharedApplication] openURL:url];
    }
  • App Store评分,上线时候每一个 app 会分配一个 appid
    NSString *appid = @"your appid";
    NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"itms-apps://itunes.apple.com/cn/app/id%@?mt=8", appid]];
    [self openUrl:url];

以上

跪求Star

你可能感兴趣的:(iOS 常用小功能)