2016-09-05 3 views
3

, 내의 ViewController에서이 코드를MailCompositionService이 예기치 않게 종료 나는이 새로운 오전

,

- (void)sendMail:(id)sender { 
    NSArray *to = [NSArray arrayWithObjects:@"[email protected]", nil]; 

    mailComposer = [[MFMailComposeViewController alloc] init]; 
    mailComposer.mailComposeDelegate = self; 
    [mailComposer setToRecipients:to]; 
    [mailComposer setSubject:@"Test Mail"]; 
    [mailComposer setMessageBody:@"Testing message body" isHTML:NO]; 
    [self presentModalViewController:mailComposer animated:YES]; 
} 



#pragma mark - mail compose delegate 
-(void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error { 
    if(result) { 
     NSLog(@"Result = %d", result); 
    } 
    if(error) { 
     NSLog(@"Error = %@", error); 
    } 
    [self dismissModalViewControllerAnimated:YES]; 
} 

를 IOS하지만 내 컨트롤러에서 전송 버튼을 클릭하면, 나는 같은

을 오류가 발생하고

2016-09-05 14:55:24.488 mailDemo[1276:104171] viewServiceDidTerminateWithError: Error Domain=_UIViewServiceInterfaceErrorDomain Code=3 "(null)" UserInfo={Message=Service Connection Interrupted} 2016-09-05 14:55:24.989 mailDemo[1276:104171] Trying to dismiss the presentation controller while transitioning already. (<_UIFullscreenPresentationController: 0x7fe35b52d2a0>) 2016-09-05 14:55:24.991 mailDemo[1276:104171] transitionViewForCurrentTransition is not set, presentation controller was dismissed during the presentation? (<_UIFullscreenPresentationController: 0x7fe35b52d2a0>)

무엇이 문제입니까?

+0

설정 앱에서 메일로 기기 로그인을 확인하십시오. –

+0

은 메일 작성 컨트롤러를 표시 할 수 있는지 여부를 확인한 후 설정에서 구성한 메일이있는 장치에서 테스트합니다. –

+0

시뮬레이터에서 테스트 중입니다. @BhadreshKathiriya – KAR

답변

2

코드에 아무런 문제가 없습니다. MFMailComposeViewController은 시뮬레이터에서 작동하지 않습니다. 실제 장치에서 동일한 코드를 사용해보십시오.

+0

감사합니다. MFMailComposeViewController가 시뮬레이터에서 작동하지 않는다고 생각합니다. @ajay_nasa – KAR

+0

걱정하지 마세요, 해피 코딩. –

1

시뮬레이터가 지원되지 않는 방법이며 장치가이 메소드가 응답하지 않는 메일에 로그인하지 않습니다.

이 방법 ::

- (void)sendMail:(id)sender { 


    if (![MFMailComposeViewController canSendMail]) { 
     NSLog(@"Mail services are not available."); 
     return; 
    } 
    else{ 
      NSArray *to = [NSArray arrayWithObjects:@"[email protected]", nil]; 

      mailComposer = [[MFMailComposeViewController alloc] init]; 
      mailComposer.mailComposeDelegate = self; 
      [mailComposer setToRecipients:to]; 
      [mailComposer setSubject:@"Test Mail"]; 
      [mailComposer setMessageBody:@"Testing message body" isHTML:NO]; 
      [self presentModalViewController:mailComposer animated:YES]; 
     } 
} 
0

MFMailComposeViewController이 시뮬레이터 작동하지 않습니다를 교체합니다. 실제 장치에서 동일한 코드를 사용해도 작동합니다. 코드에 아무런 문제가 없습니다.