iOS 7 でバグに遭遇したと思います。UITextView がモーダル ビューに含まれている場合、inputview プロパティをカスタム ビューから nil に変更すると (システム キーボードを元に戻すため)、アプリがクラッシュします。モーダル ビューが閉じられた後。
このクラッシュは iOS 7 でのみ発生します。以前のバージョンの iOS では、この問題は発生しませんでした。
問題を示すために、小さなサンプル アプリを作成しました。アプリをコンパイルして起動し、次の操作を行います。
- 「TextViewを表示」ボタンをタップします。これにより、UITextView と 3 つのボタンを含むモーダル ViewController が表示されます。
- 「inputview を emptyView に設定」ボタンをタップします。これにより、空の UIView が作成され、UITextView の inputview プロパティに割り当てられます。
- 「inputview を nil に設定」ボタンをタップします。これにより、UITextView の inputview プロパティに nil が割り当てられます。これは、システム キーボードを表示するために行われます。
- 「ViewControllerを閉じる」ボタンをタップします。これにより、View Controller が閉じられ、元の View Controller に戻ります。
ViewController が閉じられるとすぐに、アプリはすぐにクラッシュします。クラッシュ ログは、オブジェクトに送信された認識されていないセレクターを参照することがありますが、常にではありません。オブジェクトのタイプは、クラッシュが再現されるたびに異なります。
他の誰かがこの種のバグに遭遇しましたか?