Just a Computer Graphics Studio & My Life

[iOS] 傳送簡訊 (Send Message)

之前已試過寄送信件 (Send Mail),這次則要實作傳送簡訊 (Send Message),方式幾乎一模一樣!

傳送簡訊 Send Message


先在專案中加入框架:MessageUI Framework。接著引入.h檔:MessageUI/MessageUI.h。記得遵從協定MFMessageComposeViewControllerDelegate。

/**
 Theme: Send Message
 IDE: Xcode 5
 Language: Objective C
 Date: 103/05/31
 Author: HappyMan
 Blog: https://cg2010studio.wordpress.com/
 */
-(IBAction)messageButtonClicked:(UIButton *)button
{
    MFMessageComposeViewController *mcvc = [[MFMessageComposeViewController alloc] init];
    // 判斷裝置是否在可傳送訊息的狀態
    if([MFMessageComposeViewController canSendText]) {
        // 設定SMS訊息內容
        mcvc.body = @"嗨~猜猜我是誰?我是快樂測試人!";
        // 設定接傳送對象的號碼
        mcvc.recipients = [NSArray arrayWithObjects:@"0912345678",nil];
        // 設定代理
        mcvc.messageComposeDelegate = self;
        // 顯示controller的畫面
        [self presentViewController:mcvc animated:YES completion:nil];
    }
    else {
        NSLog(@"此設備無法發送簡訊⋯⋯");
    }
}

#pragma mark - MFMessageComposeViewControllerDelegate
-(void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
{
    NSLog(@"%@", controller.recipients);
    switch (result) {
        case MessageComposeResultSent:
            // 訊息傳送成功
            NSLog(@"訊息傳送成功⋯⋯");
            break;
        case MessageComposeResultFailed:
            // 訊息傳送失敗
            NSLog(@"訊息傳送失敗⋯⋯");
            break;
        case MessageComposeResultCancelled:
            // 訊息被使用者取消傳送
            NSLog(@"訊息被使用者取消傳送⋯⋯");
            break;
        default:
            break;
    }
    [self dismissViewControllerAnimated:YES completion:nil];
}

編譯執行後點擊按鈕,就會跳出傳送訊息的畫面!

原本想要截取使用者輸入的電話號碼,可惜Apple已防堵第三方獲取使用者資訊⋯⋯無法在傳送簡訊寄送信件獲取任何使用者輸入的資料,這也就是為何要叫出另一個view controller,若可以自製畫面讓使用者輸入,那就好了?嘿嘿~

參考:Getting the Recepients list in MFMailComposeViewControllerMFMessageComposeViewController 的基本使用方法iOS Programming 101: How To Send SMS Text Message in iPhone Apps

Advertisements

Comments on: "[iOS] 傳送簡訊 (Send Message)" (2)

  1. 功力超強…

    喜歡

發表留言

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

標籤雲

%d 位部落客按了讚: