2013-03-13 4 views
4

SMS 창이 팝업되면 다시 닫을 수 없습니다. 취소 버튼이 작동하지 않고 보내기 버튼이 SMS를 보내지 만 창을 닫지는 않습니다.인앱 ios 문자 메시지 용 메시지 창을 닫는 방법

나는 많은 비슷한 질문을 여기에서 살펴 봤는데 모두 messageComposeViewController 메소드를 구현하거나 messageComposeDelegate를 self로 설정하는 것이 좋습니다.

아무도 내가 뭘 잘못하고 있다고 말할 수 있습니까?

.H 파일

#import <MessageUI/MFMessageComposeViewController.h> 
#import <MessageUI/MessageUI.h> 
@interface ViewController : UIViewController<CLLocationManagerDelegate,MFMessageComposeViewControllerDelegate,UINavigationControllerDelegate>{ 
    CLLocationManager *locationManager; 
    MKMapView *mapView_; 

} 

하는 .m 파일

- (IBAction)SendTextTapped:(id)sender{ 
    MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init]; 
    if([MFMessageComposeViewController canSendText]) 
    { 
     controller.body = @"Hello!"; 
     controller.recipients = [NSArray arrayWithObjects:@"123456", nil]; 
     controller.messageComposeDelegate = self; 
     [self presentViewController:controller animated:YES completion:nil]; 
    } 
} 


- (void)messageComposeViewController:(MFMessageComposeViewController*) controller didFinishWithResult:(MessageComposeResult)result error:(NSError*)error; 
{ 
    NSLog(@"Entered messageComposeController"); 
    switch (result) { 
    case MessageComposeResultSent: NSLog(@"SENT"); [self dismissViewControllerAnimated:YES completion:nil]; break; 
    case MessageComposeResultFailed: NSLog(@"FAILED"); [self dismissViewControllerAnimated:YES completion:nil]; break; 
    case MessageComposeResultCancelled: NSLog(@"CANCELLED"); [self dismissViewControllerAnimated:YES completion:nil]; break; 
    } 
} 
+0

은 ("입력 된 messageComposeController"@) 라인'NSLog인가,'전혀 박히는? NSLog가 나타나나요? –

+0

아니요, 표시되지 않습니다 – mathewwl

답변

2

는 대리자 메서드에 오류 매개 변수를 제거합니다. 위임 방법은 다음과 같아야합니다

- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result { 
    // code here 
} 

NOT :

- (void)messageComposeViewController:(MFMessageComposeViewController*) controller didFinishWithResult:(MessageComposeResult)result error:(NSError*)error 
{ 
    // code here 
} 
+0

고마워요! 완전하게 일하고있다 :) – mathewwl