Edited at

【未解決】Ionicアプリで漢字変換画面が落ちるケースがある (iPhone限定)

More than 1 year has passed since last update.

この記事は BRIGHT VIE Advent Calendar 2017 15日目の記事になります。


はじめに

この問題は、Ionic Japan Slackでもディスカッションし、

原因が未解決になっている事例になります。

良い解決方法をお持ちな方がいらっしゃいましたら、是非コメント等でアドバイスいただければと思います :pensive:

https://ionic2.slack.com/archives/C10G5B3KQ/p1505191601000148

※SlackへのJOINはこちらから

https://ionic2-ja.herokuapp.com/


症状

サンプルとして読み仮名が「あ」の「娃」という漢字を入力したいと想定します。

まず「あ」を入力します。

IMG_3485.PNG

変換候補には「あ」「あー」「あの」・・・などが並びますが、「娃」はありません。

そのまま「次候補」キーを連打すればいつか「娃」はでてきますが、

変換候補の右側にでている(上向き矢印)をタップすると、以下のような画面が表示されます。

IMG_3486.PNG

しかし変換候補に表示された中にも「娃」がないため、下にスクロールしたいと思います。

ですが、スクロールができず、変換候補画面がすぐに落ちてしまいます。

短いですが動画だとこんな感じになります。

https://youtu.be/KAd2cxiJHYQ

弊社で作っているアプリ、残念ながらこの問題をはらんでいます。

(iPhoneのみ。iPadでは発生しない)


日本語で作成されたIonicアプリが全部こうなるのか?

こちらについて、Slack内でもディスカッションがなされましたが、

1つのアプリだけがこの問題をクリアしていました。

問題なく漢字選択できている様子はこちら

https://youtu.be/KAd2cxiJHYQ

(作者様の許可を得て掲載させていただいております)

残りのアプリについては「当初から駄目」「先日まで問題なかったが、直近のビルドでだめになった」といった状態でした。

・Ionicのバージョンなのか?

・Cordovaのバージョンなのか?

・config.xmlの設定内容なのか?

などなど、各アプリ作者の方たちの情報から特徴をつかもうとしましたが、大きな差を見つけることができませんでした。


試してみた


他社製キーボードに置き換えてみる

iPhoneのキーボードを純正からGBoardなどのサードパーティ製キーボードにすることで、

この問題を回避することはできます。

企業内アプリの場合は、こういった策でも逃げれますが、

一般公開するアプリで、その回避策を強要することは現実的に難しく・・・


Config.xmlに DisallowOverscroll:trueを設定

Cordova設定:DisallowOverscroll

<preference name="DisallowOverscroll" value="true" />

ベーススクロールを固定する設定ですが、残念ながら解決しませんでした。


知見をお持ちの方いらっしゃいましたら、アドバイスを!

是非、コメントへアドバイスをお願いいたします m(_ _)m