아이폰 개발 중 문자 보내기

9340 단어 아이폰 개발

 
iOS4.0MFMessageComposeViewController와 MFMessageComposeViewControllerDelegate가 새로 가입되어 문자를 보내는 인터페이스를 제공하여 메일을 보내는 것처럼 프로그램에서 뛰어나오지 않고 문자를 보낼 수 있다.소개 Message UIframework Reference 참조
몇 가지 노트:
MFMessageComposeViewController
운영 인터페이스 제공사용하기 전에 can Send Text 방법을 검사해야 합니다. NO로 돌아가면 이 controller를 보여서는 안 되고, 문자 발송 기능을 지원하지 않는다는 것을 사용자에게 알려야 합니다.
인터페이스는 사용자 정의할 수 없음보낼 문자의 내용(body)과 수신자(recipients)는 이 컨트롤러를 보여주기 전에 초기화해야 하며, 보여주면 문자의 내용을 프로그램을 통해 수정할 수 없다.그러나 사용자는 문자 내용을 수동으로 수정하고 수신자를 선택할 수 있다사용자가 발송 또는 취소를 눌렀거나 발송이 실패했을 때 MFMessageComposeViewControllerDelegate의 - 메시지 ComposeViewController:didFinishWithResult: 방법은 모두 알림을 받을 수 있으며 여기서 상응하는 처리를 한다iOS 3.0에서 실행하면 dyld: Symbol not found:OBJC_CLASS_$_MFMessageComposeViewController .솔루션:
MessageUI.framework의 도입 유형은 weak(target-> Get Info-> General -> Linked Libraries-> MessageUI. framework-> Type에서 수정)을 선택해야 합니다.
가지 마.h 파일에서 직접 import Message UI/MFMessage Compose ViewController.h, import
코드:
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60#pragma mark - #pragma mark SMS -(IBAction)showSMSPicker:(id)sender {      //  The MFMessageComposeViewController class is only available in iPhone OS 4 . 0 or later.      //  So, we must verify the existence of the above class and log an error message for devices      //      running earlier versions of the iPhone OS . Set feedbackMsg if device doesn't support      //      MFMessageComposeViewController API .      Class messageClass = (NSClassFromString(@ "MFMessageComposeViewController" ));
      if (messageClass != nil ) {          // Check whether the current device is configured for sending SMS messages          if ([messageClass canSendText]) {              [ self displaySMSComposerSheet];          }          else {              [UIAlertView quickAlertWithTitle:@ " " messageTitle :nil dismissTitle:@ " " ];          }      }      else {          [UIAlertView quickAlertWithTitle:@ "iOS ,iOS4.0 " messageTitle :nil dismissTitle:@ " " ];      } } -(void)displaySMSComposerSheet {      MFMessageComposeViewController *picker = [[MFMessageComposeViewController alloc] init];      picker.messageComposeDelegate = self ;
      NSMutableString* absUrl = [[NSMutableString alloc] initWithString :web .request. URL .absoluteString];      [absUrl replaceOccurrencesOfString:@ "http://i.aizheke.com" withString:@ "http://m.aizheke.com" options:NSCaseInsensitiveSearch range:NSMakeRange( 0 , [absUrl length])];
      picker.body=[NSString stringWithFormat:@ " :%@ , !link:%@"                                          ,[web stringByEvaluatingJavaScriptFromString:@ "document.title" ]                                          ,absUrl];      [absUrl release];      [ self presentModalViewController :picker animated: YES ];      [picker release]; } - (void)messageComposeViewController:(MFMessageComposeViewController *)controller                   didFinishWithResult:(MessageComposeResult)result {
      switch (result)      {          case MessageComposeResultCancelled:              LOG_EXPR (@ "Result: SMS sending canceled" );              break ;          case MessageComposeResultSent:              LOG_EXPR (@ "Result: SMS sent" );              break ;          case MessageComposeResultFailed:              [UIAlertView quickAlertWithTitle:@ " " messageTitle :nil dismissTitle:@ " " ];              break ;          default:              LOG_EXPR (@ "Result: SMS not sent" );              break ;      }      [ self dismissModalViewControllerAnimated: YES ]; }
 
 

좋은 웹페이지 즐겨찾기