0

제시에 충돌 나는 Thread 1: breakpoint 1.1아이폰 OS : MFMailComposerViewController

난 말, 특정 세부 메일보기를 제시한다 코드의 짧은 조각을 가지고 있고,

[self presentViewController:controller animated:YES completion:NULL]; 

응용 프로그램이 충돌 호출하면 이 충돌을 일으키는 것이 확실하지 않습니다. 아래 코드를 제공하고 있습니다.

NSString* encryptedText = [self getEncryptedText:noteText.text :cipherField.text]; 

MFMailComposeViewController* controller = [[MFMailComposeViewController alloc] init]; controller.mailComposeDelegate = (id)self; 

[controller setSubject:titleField.text]; 
[controller setMessageBody:encryptedText isHTML:NO]; 

[self presentViewController:controller animated:YES completion:NULL]; 

감사합니다 당신이 장치에 MFMailComposeViewController을 제시하려고하면 당신이 MFMailComposeViewController가 메일이

if ([MFMailComposeViewController canSendMail]) { 

    //Place your code here to create the controller and present 

} 

을 추가하여 기기에 설정 한 사용자를 확인해야합니다 작성하기 전에

+0

시도해주세요. [self presentViewController : 컨트롤러 애니메이션 : 예 완료 : nil]; ' – Daniel

답변

3

이미 메일이 설정되어 있지 않으면 앱이 다운됩니다. 이 조건을 추가하면이를 감지합니다.

희망 ...

+0

감사합니다. 이것으로 해결했습니다. 그것은 내 아이폰에서 작동하지만 그것은 왜 그것이 가족의 iPad에서 작동하지 않는지 이해할 수 없었다. 정말 고마워. – Sam

1

이 코드를 사용해보십시오.

if ([MFMailComposeViewController canSendMail]) { 
     MFMailComposeViewController *composeViewController = [[MFMailComposeViewController alloc] initWithNibName:nil bundle:nil]; 
     [composeViewController setMailComposeDelegate:self]; 
     [composeViewController setToRecipients:@[@""]]; 
     [composeViewController setSubject:@"Hi Test"]; 
     [composeViewController setMessageBody:@"Hello Test" isHTML:YES]; 

     [self presentViewController:composeViewController animated:YES completion:nil]; 

    }