標籤:
常用小功能
小功能簡介
iOS中的很多小功能都是非常簡單的,幾行代碼就搞定了,比如打電話、開啟網址、發郵件、發簡訊等
打電話-方法1
最簡單最直接的方式:直接跳到撥號介面
NSURL *url = [NSURL URLWithString:@"tel://10010"];
[[UIApplication sharedApplication] openURL:url];
缺點
電話打完後,不會自動回到原應用,直接停留在通話記錄介面
打電話-方法2
撥號之前會彈框詢問使用者是否撥號,撥完後能自動回到原應用
NSURL *url = [NSURL URLWithString:@"telprompt://10010"];
[[UIApplication sharedApplication] openURL:url];
缺點
因為是私人API,所以可能不會被審核通過
打電話-方法3
建立一個UIWebView來載入URL,撥完後能自動回到原應用
if (_webView == nil) {
_webView = [[UIWebView alloc] initWithFrame:CGRectZero];
}
[_webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"tel://10010"]]];
需要注意的是:這個webView千萬不要添加到介面上來,不然會擋住其他介面
發簡訊-方法1
直接跳到發簡訊介面,但是不能指定簡訊內容,而且不能自動回到原應用
NSURL *url = [NSURL URLWithString:@"sms://10010"];
[[UIApplication sharedApplication] openURL:url];
發簡訊-方法2
如果想指定簡訊內容,那就得使用MessageUI架構
包含主標頭檔
#import <MessageUI/MessageUI.h>
顯示發簡訊的控制器
MFMessageComposeViewController *vc = [[MFMessageComposeViewController alloc] init];
// 設定簡訊內容
vc.body = @"吃飯了沒?";
// 設定收件者清單
vc.recipients = @[@"10010", @"02010010"];
// 設定代理
vc.messageComposeDelegate = self;
// 顯示控制器
[self presentViewController:vc animated:YES completion:nil];
發簡訊-方法2
代理方法,當簡訊介面關閉的時候調用,發完後會自動回到原應用
- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
{
// 關閉簡訊介面
[controller dismissViewControllerAnimated:YES completion:nil];
if (result == MessageComposeResultCancelled) {
NSLog(@"取消發送");
} else if (result == MessageComposeResultSent) {
NSLog(@"已經發出");
} else {
NSLog(@"發送失敗");
}
}
發郵件-方法1
用內建的郵件用戶端,發完郵件後不會自動回到原應用
NSURL *url = [NSURL URLWithString:@"mailto://[email protected]"];
[[UIApplication sharedApplication] openURL:url];
發郵件-方法2
跟發簡訊的第2種方法差不多,只不過控制器類名叫做:MFMailComposeViewController
假設發送的郵件內容如右圖所示,代碼實現看備忘
發郵件-方法2
郵件發送後的代理方法回調,發完後會自動回到原應用
- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{
// 關閉郵件介面
[controller dismissViewControllerAnimated:YES completion:nil];
if (result == MFMailComposeResultCancelled) {
NSLog(@"取消發送");
} else if (result == MFMailComposeResultSent) {
NSLog(@"已經發出");
} else {
NSLog(@"發送失敗");
}
}
開啟其他常見檔案
如果想開啟一些常見檔案,比如html、txt、PDF、PPT等,都可以使用UIWebView開啟
只需要告訴UIWebView檔案的URL即可
至於開啟一個遠端共用資源,比如http協議的,也可以調用系統內建的Safari瀏覽器:
NSURL *url = [NSURL URLWithString:@”http://www.baidu.com"];
[[UIApplication sharedApplication] openURL:url];
應用間跳轉
有時候,需要在本應用中開啟其他應用,比如從A應用中跳轉到B應用
首先,B應用得有自己的URL地址(在Info.plist中配置)
B應用的URL地址就是:mj://ios.itcast.cn
接著在A應用中使用UIApplication完成跳轉
NSURL *url = [NSURL URLWithString:@"mj://ios.itcast.cn"];
[[UIApplication sharedApplication] openURL:url];
應用評分
為了提高應用的使用者體驗,經常需要邀請使用者對應用進行評分
應用評分無非就是跳轉到AppStore展示自己的應用,然後由使用者自己撰寫評論
如何跳轉到AppStore,並且展示自己的應用
Ø方法1
NSString *appid = @"444934666";
NSString *str = [NSString stringWithFormat:
@"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=%@", appid];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];
Ø方法2
NSString *str = [NSString stringWithFormat:
@"itms-apps://itunes.apple.com/cn/app/id%@?mt=8", appid];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];
真機調試
真機調試的主要步驟
1.登入開發人員首頁2.產生cer認證:cer是一個跟電腦相關聯的認證檔案,讓電腦具備真機調試的功能3.添加App ID:調試哪些app?4.註冊真機裝置:哪台裝置需要做真機調試?5.產生MobileProvision檔案:結合2、3、4產生一個手機規定檔案6.匯入cer、MobileProvision檔案●
最終會得到2個檔案
ØCer檔案:讓電腦具備真機調試的功能ØMobileProvision檔案:哪台裝置、哪些app、哪台電腦需要做真機調試?
真機調試的步驟01-登入開發人員首頁
登入開發人員首頁
https://developer.apple.com/membercenter/index.action
管理憑證(前提:得花99$或299$加入開發人員計劃)
真機調試的步驟02-產生cer認證
添加cer認證
真機調試的步驟02-產生cer認證
利用鑰匙串產生cer簽章要求檔案
真機調試的步驟02-產生cer認證
選擇cer簽章要求檔案,產生並且下載cer認證
真機調試的步驟03-添加App ID
添加App ID
真機調試的步驟04-註冊真機裝置
添加真機裝置
真機調試的步驟04-註冊真機裝置
利用Xcode查看真機裝置的唯一標識(插上USB資料線)
真機調試的步驟04-註冊真機裝置
填寫裝置名稱和唯一標識
真機調試的步驟05-產生MobileProvision檔案
添加MobileProvision檔案
真機調試的步驟05-產生MobileProvision檔案
選擇App ID
真機調試的步驟05-產生MobileProvision檔案
填寫MobileProvision檔案名稱
真機調試的步驟06-匯入cer、MobileProvision檔案
經過前面的幾個步驟,已經得到2個檔案
真機調試的步驟06-匯入cer、MobileProvision檔案
開啟任意程式,選擇真機設別,點擊運行(第一次運行會出現右圖)
替換舊的調試認證
iOS中打電話、開啟網址、發郵件、發簡訊等