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://1292711060@qq.com"];
      [self openUrl:url];
    
    • MessageUI 應用內發送mail,若本機未登錄綁定郵箱會奔潰!
      // MessageUI 內部發送mail
      MFMailComposeViewController *composeVC = [[MFMailComposeViewController alloc] init];
      if (composeVC == nil) {
          NSLog(@"尚未登錄郵箱");
          return;
      }
      //composeVC.body = @"套餐";
      [composeVC setToRecipients:@[@"1292711060@qq.com"]];
      [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
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容