MFMailComposeViewController を使用して電子メールを送信する責任を負うクラスを作成しようとしているので、アプリの差分ビュー コントロールからこのメソッドを使用できます。
このクラスは apoio と呼ばれます。
このクラスには、以下のメソッドがあります。
-(void) enviarGraficoPorEmail: (NSData*) _pdfGrafico {
if (![MFMailComposeViewController canSendMail]) {
// show message box for user that SMS cannot be sent
} else {
MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;
[picker setSubject:@"Dashboard"];
[picker addAttachmentData:_pdfGrafico mimeType:@"application/pdf" fileName:@"grafico.pdf"];
NSString *emailBody = @"Anexando gráfico";
[picker setMessageBody:emailBody isHTML:NO];
[self presentModalViewController:picker animated:YES];
}
}
ユーザーがメールボタンをクリックしたときに apoio メソッドを呼び出す別のビューコントローラーがあります。それは以下のコードです
-(IBAction) enviarGraficoPorEmail {
Apoio *apoio = [[Apoio alloc] init];
[apoio enviarGraficoPorEmail:[barChart dataForPDFRepresentationOfLayer]];
}
しかし、理由はわかりません。メール ビューが表示されません。私がデバッグしたなどの理由で、メソッドは正しいと呼ばれます。
コードを apoio メソッドから envarGraficoPorEmail メソッドにコピーすると、すべてが完璧に機能します。
しかし、私はこれをやりたくない.
私は何を間違っていますか??