iOS開(kāi)發(fā)的常用小功能

  • 打電話(huà)

第一種方法:(openURL方法在iOS10的時(shí)候過(guò)期,使用openURL:options:completionHandler:方法替換)
NSURL * url = [NSURL URLWithString:@"tel://10010"];
iOS10之前的寫(xiě)法 :
[[UIApplication sharedApplication] openURL:url];
iOS10的寫(xiě)法
[[UIApplication sharedApplication] openURL:url options:@{} completionHandler:^(BOOL success) { }];
第二種方法:(系統(tǒng)私有的API浆兰,不可能被通過(guò))
NSURL * url = [NSURL URLWithString:@"telprompt://10010"];
iOS10之前的寫(xiě)法 :
[[UIApplication sharedApplication] openURL:url];
iOS10的寫(xiě)法

[[UIApplication sharedApplication] openURL:url options:@{} completionHandler:^(BOOL success) {
}];

第三種方法:(通過(guò)一個(gè)WebView調(diào)用方法打電話(huà) ,這個(gè)webView千萬(wàn)不要設(shè)置尺寸上荡,不然會(huì)擋住其他界面,他只是用來(lái)打電話(huà)聂渊,不需要顯示)

if ( _web ==nil ) {
_web = [[UIWebView alloc]initWithFrame:CGRectZero];
}
[_web loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"tel://10010"]]];
  • 發(fā)短信

第一種方法:(直接跳轉(zhuǎn)到發(fā)短信界面捣卤,但是不能指定短信內(nèi)容且不能回到原應(yīng)用)
NSURL * url = [NSURL URLWithString:@"sms://10010"];
iOS10之前的寫(xiě)法 :
[[UIApplication sharedApplication] openURL:url];
iOS10的寫(xiě)法:

[[UIApplication sharedApplication] openURL:url options:@{} completionHandler:^(BOOL success) {
}];

第二種方法:(指定發(fā)送信息的內(nèi)容,需要導(dǎo)入頭文件捶索,使用MessageUI框架)

#import <MessageUI/MessageUI.h>
<MFMessageComposeViewControllerDelegate>
//    創(chuàng)建發(fā)短信的控制器
MFMessageComposeViewController*vc = [[MFMessageComposeViewController alloc]init];
//    編輯短信內(nèi)容
vc.body=@"在哪呢插掂?";
//    設(shè)置收件人列表
vc.recipients = @[@"10010", @"02110010"];
//    設(shè)置代理
vc.messageComposeDelegate = self;
//    顯示控制器
[self presentViewController:vc animated:YES completion:nil];
//    代理方法,當(dāng)短信界面關(guān)閉的時(shí)候調(diào)用腥例,發(fā)完后會(huì)自動(dòng)回到原應(yīng)用
- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
{
//    關(guān)閉短信界面
[controller dismissViewControllerAnimated:YES completion:nil];
if (result == MessageComposeResultCancelled) {
NSLog(@"取消發(fā)送");
} else if (result == MessageComposeResultSent) {
NSLog(@"已經(jīng)發(fā)出");
} else {
NSLog(@"發(fā)送失敗");
}
}
  • 發(fā)郵件

第一種方法:(使用系統(tǒng)自帶發(fā)郵件)
NSURL * url = [NSURL URLWithString:@"mailto://6666@qq.com"];
iOS10之前的寫(xiě)法 :
[[UIApplication sharedApplication] openURL:url];
iOS10的寫(xiě)法:

[[UIApplication sharedApplication] openURL:url options:@{} completionHandler:^(BOOL success) {
}];

第二種方法:(和發(fā)短信一樣燥筷,導(dǎo)入框架,導(dǎo)入頭文件)

<MFMailComposeViewControllerDelegate>
// 1.初始化編寫(xiě)郵件的控制器
MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init];
if (!mailViewController) {
// 在設(shè)備還沒(méi)有添加郵件賬戶(hù)的時(shí)候mailViewController為空院崇,下面的present view controller會(huì)導(dǎo)致程序崩潰,這里要作出判斷
NSLog(@"設(shè)備還沒(méi)有添加郵件賬戶(hù)");
return;
}
mailViewController.mailComposeDelegate = self;
// 2.設(shè)置郵件主題
[mailViewController setSubject:@"測(cè)試郵件"];
// 3.設(shè)置郵件主體內(nèi)容
[mailViewController setMessageBody:@"一張圖片" isHTML:NO];
// 4.添加附件
NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"Heaven Lake" ofType:@"jpg"];
NSData *attachmentData = [NSData dataWithContentsOfFile:imagePath];
[mailViewController addAttachmentData:attachmentData mimeType:@"image/jpeg" fileName:@"天堂之珠:仙本那"];
// 5.呼出發(fā)送視圖
[self presentViewController:mailViewController animated:YES completion:nil];
//    代理方法袍祖,當(dāng)郵件界面關(guān)閉的時(shí)候調(diào)用底瓣,發(fā)完后會(huì)自動(dòng)回到原應(yīng)用
- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{
//    關(guān)閉郵件界面
[controller dismissViewControllerAnimated:YES completion:nil];
if (result == MFMailComposeResultCancelled) {
NSLog(@"取消發(fā)送");
} else if (result == MFMailComposeResultSent) {
NSLog(@"已經(jīng)發(fā)出");
} else {
NSLog(@"發(fā)送失敗");
}
}

打開(kāi)其他常見(jiàn)文件:(html、txt、PDF捐凭、PPT等拨扶,都可以使用UIWebView打開(kāi))
只需要告訴UIWebView文件的URL即可
至于打開(kāi)一個(gè)遠(yuǎn)程的共享資源,比如http協(xié)議的茁肠,也可以調(diào)用系統(tǒng)自帶的Safari瀏覽器:

NSURL*url = [NSURLURLWithString:@”http://www.[baidu.com](http://baidu.com/)"];
[[UIApplicationsharedApplication]openURL:url];
  • 應(yīng)用間跳轉(zhuǎn)

第一種方法(以跳轉(zhuǎn)微信為例)

在應(yīng)用A中添加一個(gè)跳轉(zhuǎn)的按鈕,并監(jiān)聽(tīng)點(diǎn)擊
NSURL*url = [NSURL URLWithString:@"wechat://"];
// 如果已經(jīng)安裝了這個(gè)應(yīng)用,就跳轉(zhuǎn)

if([[UIApplication   sharedApplication] canOpenURL:url]) {       
 [[UIApplication sharedApplication] openURL:url];   
 }

注意的是:一個(gè)URL是可以沒(méi)有路徑的,但是協(xié)議頭必須的完整;
只要協(xié)議頭和對(duì)應(yīng)的應(yīng)用的URL Schemes一致,就可知跳轉(zhuǎn)到對(duì)應(yīng)的應(yīng)用,與URL路徑無(wú)關(guān)
第二種方法:
http://www.reibang.com/p/b5e8ef8c76a3

  • 應(yīng)用評(píng)分:(進(jìn)入App Store給應(yīng)用評(píng)分)

NSString *appid = @"你的應(yīng)用的appID";
NSString *str = [NSString stringWithFormat:
@"itms-apps://itunes.apple.com/cn/app/id%@?mt=8", appid];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];
**跳轉(zhuǎn)到詳情頁(yè)**
NSString *urlStr = [NSString stringWithFormat:@"itms-apps://itunes.apple.com/app/id%@", APPID];[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlStr]];
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末患民,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子垦梆,更是在濱河造成了極大的恐慌匹颤,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,639評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件托猩,死亡現(xiàn)場(chǎng)離奇詭異印蓖,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)京腥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)赦肃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人公浪,你說(shuō)我怎么就攤上這事他宛。” “怎么了欠气?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,221評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵厅各,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我晃琳,道長(zhǎng)讯检,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,474評(píng)論 1 283
  • 正文 為了忘掉前任卫旱,我火速辦了婚禮人灼,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘顾翼。我一直安慰自己投放,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,570評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布适贸。 她就那樣靜靜地躺著灸芳,像睡著了一般。 火紅的嫁衣襯著肌膚如雪拜姿。 梳的紋絲不亂的頭發(fā)上烙样,一...
    開(kāi)封第一講書(shū)人閱讀 49,816評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音蕊肥,去河邊找鬼谒获。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的批狱。 我是一名探鬼主播裸准,決...
    沈念sama閱讀 38,957評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼赔硫!你這毒婦竟也來(lái)了炒俱?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,718評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤爪膊,失蹤者是張志新(化名)和其女友劉穎权悟,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體惊完,經(jīng)...
    沈念sama閱讀 44,176評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡僵芹,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,511評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了小槐。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拇派。...
    茶點(diǎn)故事閱讀 38,646評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖凿跳,靈堂內(nèi)的尸體忽然破棺而出件豌,到底是詐尸還是另有隱情,我是刑警寧澤控嗜,帶...
    沈念sama閱讀 34,322評(píng)論 4 330
  • 正文 年R本政府宣布茧彤,位于F島的核電站,受9級(jí)特大地震影響疆栏,放射性物質(zhì)發(fā)生泄漏曾掂。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,934評(píng)論 3 313
  • 文/蒙蒙 一壁顶、第九天 我趴在偏房一處隱蔽的房頂上張望珠洗。 院中可真熱鬧,春花似錦若专、人聲如沸许蓖。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,755評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)膊爪。三九已至,卻和暖如春嚎莉,著一層夾襖步出監(jiān)牢的瞬間米酬,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,987評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工趋箩, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留淮逻,地道東北人琼懊。 一個(gè)月前我還...
    沈念sama閱讀 46,358評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像爬早,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子启妹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,514評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容