自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

IOS程序之發(fā)送短信代碼實(shí)現(xiàn)

移動(dòng)開(kāi)發(fā) iOS
本文主要介紹了在IOS程序中實(shí)現(xiàn)發(fā)送短信的內(nèi)容,通過(guò)一些開(kāi)發(fā)筆記開(kāi)介紹內(nèi)容,從而學(xué)習(xí)ios程序的開(kāi)發(fā),先來(lái)看內(nèi)容。

IOS程序發(fā)送短信代碼實(shí)現(xiàn)是本文要介紹的內(nèi)容,iOS4.0新加入了MFMessageComposeViewController和MFMessageComposeViewControllerDelegate,提供了發(fā)送短信的接口,可以像發(fā)送郵件那樣不用跳出程序來(lái)發(fā)送短信. 介紹可參閱Message UI Framework Reference。

一些筆記:

MFMessageComposeViewController

(1)提供了操作界面

(2)使用前必須檢查canSendText方法,若返回NO則不應(yīng)將這個(gè)controller展現(xiàn)出來(lái),而應(yīng)該提示用戶不支持發(fā)送短信功能.

(3)界面不能自行定制

(4)要發(fā)送的短信的內(nèi)容(body)和收件人(recipients)在展現(xiàn)這個(gè)controller前需初始化好,展現(xiàn)了之后短信內(nèi)容不能通過(guò)程序來(lái)進(jìn)行修改.不過(guò)用戶仍然可以手工修改短信內(nèi)容和選擇收件人

(5)用戶點(diǎn)了發(fā)送或者取消,或者發(fā)送失敗時(shí),MFMessageComposeViewControllerDelegate 的

  1. – messageComposeViewController:didFinishWithResult: 

方法都能得到通知,在這里進(jìn)行相應(yīng)的處理

若在iOS3.0上運(yùn)行的話,會(huì)提示

  1. dyld: Symbol not found: _OBJC_CLASS_$_MFMessageComposeViewController . 

解決方案:

(1)MessageUI.framework的引入類型應(yīng)選擇weak(在target -> Get Info -> General -> Linked Libraries -> MessageUI.framework -> Type 里修改)

(2)不要在.h文件里直接import MessageUI/MFMessageComposeViewController.h,改為import <MessageUI/MessageUI.h>

代碼:

  1. #pragma mark -   
  2. #pragma mark SMS     
  3.  -(IBAction)showSMSPicker:(id)sender {   
  4.      //  The MFMessageComposeViewController class is only available in iPhone OS 4.0 or later.   
  5.     //  So, we must verify the existence of the above class and log an error message for devices   
  6.      //      running earlier versions of the iPhone OS. Set feedbackMsg if device doesn't support   
  7.     //      MFMessageComposeViewController API.   
  8.     Class messageClass = (NSClassFromString(@"MFMessageComposeViewController"));   
  9.         if (messageClass != nil) {   
  10.          // Check whether the current device is configured for sending SMS messages   
  11.         if ([messageClass canSendText]) {   
  12.              [self displaySMSComposerSheet];   
  13.          }   
  14.          else {   
  15.             [UIAlertView quickAlertWithTitle:@"設(shè)備沒(méi)有短信功能" messageTitle:nil dismissTitle:@"關(guān)閉"];   
  16.          }   
  17.      }   
  18.      else {   
  19.         [UIAlertView quickAlertWithTitle:@"iOS版本過(guò)低,iOS4.0以上才支持程序內(nèi)發(fā)送短信" messageTitle:nil dismissTitle:@"關(guān)閉"];   
  20.      }   
  21.  }   
  22.      
  23.  -(void)displaySMSComposerSheet   
  24.  {   
  25.      MFMessageComposeViewController *picker = [[MFMessageComposeViewController alloc] init];   
  26.      picker.messageComposeDelegate = self;   
  27.      
  28.      NSMutableString* absUrl = [[NSMutableString alloc] initWithString:web.request.URL.absoluteString];   
  29.      [absUrl replaceOccurrencesOfString:@"http://i.aizheke.com" withString:@"http://m.aizheke.com" 
  30. options:NSCaseInsensitiveSearch range:NSMakeRange(0, [absUrl length])];   
  31.      
  32.     picker.body=[NSString stringWithFormat:@"我在愛(ài)折客上看到:%@ 可能對(duì)你有用,推薦給你!link:%@"   
  33.                                         ,[web stringByEvaluatingJavaScriptFromString:@"document.title"]   
  34.                                         ,absUrl];   
  35.      [absUrl release];   
  36.      [self presentModalViewController:picker animated:YES];   
  37.      [picker release];   
  38.  }   
  39.      
  40.  - (void)messageComposeViewController:(MFMessageComposeViewController *)controller   
  41.                   didFinishWithResult:(MessageComposeResult)result {   
  42.      
  43.     switch (result)   
  44.     {   
  45.         case MessageComposeResultCancelled:   
  46.             LOG_EXPR(@"Result: SMS sending canceled");   
  47.              break;   
  48.          case MessageComposeResultSent:   
  49.             LOG_EXPR(@"Result: SMS sent");   
  50.             break;   
  51.          case MessageComposeResultFailed:   
  52.             [UIAlertView quickAlertWithTitle:@"短信發(fā)送失敗" messageTitle:nil dismissTitle:@"關(guān)閉"];   
  53.              break;   
  54.          default:   
  55.             LOG_EXPR(@"Result: SMS not sent");   
  56.             break;   
  57.      }   
  58.     [self dismissModalViewControllerAnimated:YES];   
  59. }  

小結(jié):IOS程序發(fā)送短信代碼實(shí)現(xiàn)的內(nèi)容介紹完了,希望本文對(duì)你有所幫助!

責(zé)任編輯:zhaolei 來(lái)源: 博客園
相關(guān)推薦

2011-08-02 11:30:41

iOS開(kāi)發(fā) 郵件發(fā)送

2010-01-27 18:06:03

Android短信發(fā)送

2015-05-29 10:39:31

iOS漏洞手機(jī)安全

2023-06-15 14:56:51

iOS 17蘋果

2024-04-08 14:10:06

2022-07-20 09:52:44

Go語(yǔ)言短信驗(yàn)證碼

2009-09-03 17:40:25

C#發(fā)送短信

2012-08-06 10:19:36

2013-04-18 13:47:43

Windows Pho啟動(dòng)器與選擇器發(fā)送短信

2023-11-08 08:31:37

2016-07-07 13:30:06

短信貓

2011-08-03 13:43:50

iOS程序 打包 發(fā)布

2011-07-21 16:19:30

iOS Twitter

2012-02-02 17:10:35

Windows PhoC#發(fā)送短信

2011-03-24 13:00:31

Nagios飛信

2011-08-11 16:50:04

iOSTwitter

2023-11-06 12:18:32

工廠類阿里云騰訊云

2014-03-12 16:09:21

Zabbix短信報(bào)警

2013-07-29 14:28:43

JQueryJQuery實(shí)現(xiàn)分頁(yè)分頁(yè)程序代碼

2011-07-20 15:20:14

IPhone AVAudioRec
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)