私は MFMailComposeViewController を使用して、ユーザーがアプリから問題なくメールを送信できるようにしています。しかし、デバイスに「iCloud アカウント」が設定されている場合、[MFMailComposeViewController canSendMail]が 0 を返すことがわかりました。
iCloud アカウントを削除すると、MFMailComposeViewController が動作を再開します。私が試してみました; iOS設定のデフォルトのメールアカウントをgmailアカウントに設定し、「@iCloud」メールでiCloudアカウントを設定します(これを使用してメールアプリからメールを送信できるため、これが機能することがわかっています)。
どんなアイデアでも大歓迎です。
編集
- 他のアプリには同じ問題がないことがわかりました。
- 多くのスレッドを使用して UIDocument インスタンスから同時にデータを取得していた電子メールのコンテンツを作成しているときに、ドキュメントを順番にロードすると問題が発生しないことがわかりました。