someone's notebook

誰かさんの書いたジャポニカ学習帳

NSDateFormatterの罠

AppStoreレビューに画面を開いた瞬間落ちる!と書かれており、
さらに時計表示を24時間表記にすると直ったそうだ。


そんなことあるのかな?と思い、試してみたらあっさり再現。
調べてみたら、iOSアプリ開発のバッドノウハウな感じ。
NSDateFormatterはフォーマットする前にロケールを設定すべき?


NSDateFormatterを使用する時はLocaleを指定する必要があって
日本語環境で下の画像のように時刻設定を24時間表示OFFにした場合には
Formatterに午前・午後が混入する。
それが原因で画面表示でクラッシュしていたようだ。
f:id:oklahomaok:20120115094702p:image:w300


あんまり納得いかないけど、修正してAppStoe申請を通した。
あとはAppleのクリスマス休み明けにリリースかな。


結局、時計表示を切り替えるテストはやっておらず、試験漏れってことだけど。
デバイス周りは色々あるな。。

Fork me on GitHub