
@sawat1203 キーボード閉じてもダメで、キーボードの種類をEnglish (US) や絵文字に切り替えた後なら大丈夫。これだと、アプリ側の回避策なんて、無理やりダミーの「電話番号」指定テキストフィールドをファーストレスポンダにするとかしか無いんじゃないの?
2012-10-10 18:23:58
この不具合は酷いですね。アプリのユーザから報告があっても、「iOSのバグです。英語キーボードに切り替えてからロックしてください」と答えるしかなさそうです :iOS 6に日本語入力に関係した深刻な不具合 | ひとりぶろぐ http://t.co/seFX1Hhc #1tp
2012-10-10 18:28:06
@setoh2000 いえ、詳しくはまだ見てません。メモアプリで試してて、入力完了しててもダメだとするとキーボードを隠すだけではやはりダメじゃないかと思って。
2012-10-10 18:40:27
@sawat1203 私のアプリ、SmartEverはキーボード隠してませんが落ちません。あとFastEverなんかも。詳しくは検証できてませんがTask Completionで何かやってるといけるぽい気がします。。
2012-10-10 18:46:52
@setoh2000 なるほど。TaskCompletionがある場合とない場合でOS側の処理が違うのかもしれませんね。
2012-10-10 18:49:30
@k_katsumi アプリ内にたくさんtextFieldやtextViewがある場合修正がたいへんなので、カレントViewControllerを得たり、カレントのfirstResponderを得る方法はありますか?
2012-10-10 18:50:00
@setoh2000 自分のアプリで試して見たところ、http://t.co/I4hcKLNB の resignFirstResponder なしのコードで落ちなくなりました。やはり、キーボードを隠すことよりTaskCompletionを使うことに意味がありそうです。
2012-10-10 18:56:09
あ、そうか。beginBackgroundTaskWithExpirationHandlerを呼んで、endBackgroundTaskを呼ぶまでの間に落ちないのはある意味当たり前か。これじゃ、10分後に復帰できるか確認しないと。
2012-10-10 19:07:53
@k_katsumi @cqa02303 ユーザ辞書全部消してキーボードの変換学習リセットしたら落ちなくなったみたい。
2012-10-10 19:10:30
@setoh2000 いや、すみません。あれだと10分延命できるだけでした…。resignFirstResponder を行う場合はまだ試せていません。
2012-10-10 19:23:18
@setoh2000 ちょっとスリープしてすぐ戻ってくるならいいですけど、ほんとに「作業途中でなにか割り込み(来客とか)が入って一旦スリープモード」みたいなケースでは多分残念なことになりますね…。
2012-10-10 19:29:10
@sawat1203 そういえばそうか。スリープだけなら10分以上もOKか。そういう意味では自分のアプリもダメかもorz
2012-10-10 19:33:18
やっぱり、textFieldをresignFirstResponderしてもendBackgroundTaskしたら落ちちゃうな。呼ばなきゃ10分後に強制終了…。
2012-10-10 20:06:24
「当座の現実的な回避策」を追記 "iOS 6に日本語入力に関係した深刻な不具合" http://t.co/Th7aTEm9
2012-10-10 20:09:34
んんー。スリープの場合だと、TaskCompletionがendBackgroundTaskを呼ばないまま10分経過しても強制終了はされないのか?ExpirationHandlerは呼ばれてる。
2012-10-10 20:40:37
@k_katsumi iPhone 4 & iOS 6.0 で検証したところ、バックグラウンドに回って 10 分後にクラッシュしました。endBackgroundTask: を呼ばないようにしたらクラッシュしなくなりました
2012-10-10 21:18:18
@k_katsumi それとキーボードを閉じるかどうかは関係ないと思います。endBackgroundTask: を呼ばない、かつテキストフィールドに resignFirstResponder を送らない場合でもクラッシュしませんでした
2012-10-10 21:23:58
@k_katsumi テキストフィールドに resignFirstResponder を送るボタン等を置いて、キーボードをユーザが明示的に閉じてからバックグラウンドに回す場合でもクラッシュするので、キーボードを閉じる処理は関係ないと思います
2012-10-10 21:28:38
iOS 6 の日本語入力後クラッシュ問題はロック画面への移行に限定するものではありません。ホームスクリーンへの移行や別アプリへのスウィッチでも、要するにアプリがバックグラウンドに回るときにクラッシュします
2012-10-10 21:32:26