iPadのiOS7.0.3(4) + 64bitの端末(iPad Airとかが該当すると思います)で発生するバグみたいですが、
MFMailComposeViewControllerをpresentViewController: などでモーダル表示するときに、
表示した瞬間に隠れてしまう現象です。

 

iOSシミュレーターのiPad Retina(64bit)でも再現できると思います。

この現象が起きた時に以下のようなエラーがコンソールに表示されます。

_serviceViewControllerReady:error: Error Domain=NSCocoaErrorDomain Code=4097 "The operation couldn’t be completed. (Cocoa error 4097.)"

原因としては、UIAppearanceで表示を変えてる部分でエラーが発生して閉じてしまうようです。

自分の場合は以下のようなUITabBarItem appearanceの変更が原因だったので、これを取り除いたら解決しました。

[[UITabBarItem appearance] setTitlePositionAdjustment:UIOffsetMake(0, -2)]

メールを表示する画面と全然関係ないところが原因のようなので、UIAppearanceを疑うのがいいと思います。

Post Navigation