2011-03-05 81 views
4

我在我的應用程序中使用以下代碼來創建並填充用戶發送的短信。這個代碼是通過按UIButton來調用的。iPhone短信功能

MFMessageComposeViewController *controller = [[[MFMessageComposeViewController alloc] init] autorelease]; 
    if([MFMessageComposeViewController canSendText]) 
    { 
     controller.body = @"Hello from Mugunth"; 
     controller.recipients = [NSArray arrayWithObjects:@"12345678", @"87654321", nil]; 
     controller.messageComposeDelegate = self; 
     [self presentModalViewController:controller animated:YES]; 
    } 

在初始加載視圖時,我想測試設備功能,並在必要時隱藏按鈕(例如在iPod touch上)。

有沒有人有關於如何做到這一點的任何代碼示例?請注意,我只針對iOS 4.0及更高版本,我知道上面的代碼在使用早期版本iOS的設備上不起作用。

問候

+0

[MFMessageComposeViewController canSendText]是否照顧我需要的功能?我沒有iPod touch設備進行測試。 – 2011-03-05 22:19:11

回答

4

[MFMessageComposeViewController canSendText]將決定你是否是該設備可以發短信。我已經知道它會在iPhone,SIM卡,iPod Touch和iOS模擬器上正確反應。我沒有在例如沒有SIM卡或iPad的iPhone。

+0

謝謝我一樣想。已接受你的答案。 – 2011-03-05 22:54:51

2

您可以使用下面的代碼來檢測設備是否可以發送短信或不:

首選:

if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"sms:"]]) { 

} 

[MFMessageComposeViewController canSendText] 
0

,請務必讓[MFMessageComposeViewController canSendText]分配之前一個MFMessageComposeViewController的實例。較新版本的iOS會發出警告,通知用戶他們無法在實例化MFMessageComposeViewController後立即發送消息。