- 打電話
- [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];
以上