en

hi, it seems you are using microsoft internet explorer. it doesn't match web standard and causes problems browsing this site. please please please use mozilla firefox or google chrome instead. thank you!

zh

哦哦!您正在使用Internet Explorer 瀏覽器,它與我們的網頁標準並不相容,可能會導致畫面顯示不正常。
請改用 Mozilla Firefox 或者 Google Chrome 才能正常瀏覽本網站,謝謝!

10.31.2011

MFMessageComposeViewController 的基本使用方法

MFMessageComposeViewController 同樣是在 MessageUI Framework 中的一個類別,而它的主要功能是用來製作 SMS 訊息的相關格式,它的使用方式如同 MFMailComposeViewController 一樣,透過一些簡單的設定,你也可以為你的應用程式加上 SMS 訊息的功能。

在使用上首先匯入 MessageUI Framework,並引用其標頭檔,Xcode 4 Framework 匯入方式可以參考 Xcode 4 新增 Framework 的方法一文。


#import <MessageUI/MessageUI.h>
接著在要使用此物件的類別上設定 <MFMessageComposeViewControllerDelegate> 代理。

接著就是實做在傳送 SMS 訊息的程式碼了。

MFMessageComposeViewController *controller = [[[MFMessageComposeViewController alloc] init] autorelease];

//判斷裝置是否在可傳送訊息的狀態
if([MFMessageComposeViewController canSendText]) {

    //設定SMS訊息內容
    controller.body = @"你好嘛?";

    //設定接傳送對象的號碼
    controller.recipients = [NSArray arrayWithObjects:@"0912345678",nil];

    //設定代理
    controller.messageComposeDelegate = self;

    //顯示controller的畫面
    [self presentModalViewController:controller animated:YES];
}

至於訊息在傳送之後則會觸發以下的內建函式,並且可以從此函式所帶入的參數來判斷訊息是否傳送成功,或是被使用者取消傳送。

//使用者完成操作時所呼叫的內建函式
- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result {

    switch (result) {
        case MessageComposeResultSent:
            //訊息傳送成功
            break;

        case MessageComposeResultFailed:
            //訊息傳送失敗
            break;

        case MessageComposeResultCancelled:
            //訊息被使用者取消傳送
            break;

        default:
            break;
    }
}

PS:關於 MFMailComposeViewController 的使用方式可以參考MFMailComposeViewController 的基本使用方法ㄧ文。





2 則留言:

  1. 匿名3/31/2015

    您好:想請問若從Server寄送一則簡訊給手機,app可否即時接收簡訊的內容帶到app中?怎麼實現?

    回覆刪除
    回覆
    1. 你好:

      我沒實作過這部份,不過第三方應用程式是無法接收簡訊的,如果可以的話,現在市面上流通的通訊軟體早就把這一塊都做進去了!

      刪除