2017-07-13 1 views
1

iOS 11 beta 3を実行している64ビットiOSデバイスでエンタープライズアプリケーションを更新する必要があります。ユーザーは電子メールをサーバーに送信し、そこでサーバーはデータを抽出するように処理されます。 (私はTCPを介してサーバーに送信することを好むだろうが、それは私の決定ではなかった)iOS 11 beta:メールビューコントローラがメールを送信しない

このアプリケーションは、特定のデータを含む電子メールの本文を構成し、サーバーの電子メールボックス上部に[送信]ボタンが表示されます。しかし、 "送信"ボタンをタップすることは何もしません。その場合、「キャンセル」ボタンをタップするだけで、キャンセルすることを確認する警告が表示され、いずれの応答でも電子メールの表示は解除されません。ここで

は、メールのComposeコードです:

NSString *strEmailAddress = [[NSUserDefaults standardUserDefaults] objectForKey:kEmailAddress]; 
NSArray *listOfRecipients = [[NSArray alloc] initWithObjects:strEmailAddress, nil]; 

MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init]; 
mailViewController.mailComposeDelegate = self; 
[mailViewController setSubject:@"Equipment Inventory"]; 
[mailViewController setMessageBody:totalArray isHTML:NO]; 
[mailViewController setToRecipients:listOfRecipients]; 
[self presentViewController:mailViewController animated:YES completion:nil]; 

は、これは私がアプリの以前の32ビット版で使用したものであり、それは5年以上にわたってうまく働いています。

私はiOSとXcodeの両方のベータ版を扱っているので、これがOSやコードのバグかどうかをどのように判断できますか? Xcodeにも電話でもエラーは表示されません。

ありがとうございました。

+0

新機能の代理人を確認 – zombie

+0

@ zombie、代理人の唯一の変更は、自分自身をリモート通知機能に追加した方法です。 Mail Composerに干渉する可能性はありますか? –

+0

電子メールは送信されますが、コントローラを却下しないで私の答えを確認してください。 – zombie

答えて

1

デリゲートメソッドを実装してコントローラを終了する必要があります。

この場合、エラーが発生します。

- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(nullable NSError *)error { 

    [controller dismissViewControllerAnimated:true completion:nil]; 
} 
+0

あなたは正しいです。私は電子メールを受信して​​いないので、最初は問題ではないと思っていましたが、電子メールプログラムがメッセージを迷惑メールフォルダに移動していることがわかりました。そして、私は私の元のアプリでそれを持っていたことを忘れていた。ソレアは私をばかみたいに感じさせる。本当にありがとう! –

関連する問題