質問: iPhone/iPadのショートカット機能についてご教示ください。 ショートカットのif分岐機能で、現在の入力モードが英語か日本語かの判定をして、もし日本語であったら入力モードを英語に切り替えてアプリを開く、というフローを作りたいのですが、そのような分岐判定は可能でしょうか
回答: iOSの制約上、どのようなキーボードを使用しているかを取得する手段はありません。そのため、ショートカットを使用する際、どのようなキーボードを使用しているかを確認したり、ほかのキーボードにきりかえたりなどはできません。 もしなんらかのAppの開発者でしたら (そうでなければごめんなさい) 、ショートカットではなくじぶんでAppをつくることで、以下の方法なら条件付きですが実現できます。ショートカットでは申し訳ないですが以下の方法はどれもできませんのでこれ以下はよみとばしてください。 * キーボードの高さを取得する + キーボードの高さを取得することで、どんな言語を使っていそうかを認識する方法もありますが、現在のiOSでは、標準キーボードでは日本語も英語も同じ高さで表示されるため、この方法で言語を認識しようとするのは非現実的です。(他社製のキーボードをつかっているのであればこの方法の活用はできるのかも) * アルファベットのキーボードを表示させる + あくまでアルファベットのキーボードを表示させるだけなので、英語キーボードになるわけではありません。たとえば、日本語はかな入力 (スマートフォンのキーボードだとローマ字入力よりもかな入力のほうが利用者がおおい) で文字を入力している場合、アルファベットのキーボードを表示させるとボタンはABC順で表示されます。(日本語かなキーボードで左下「ABC」のボタンを押したときと同じ挙動) + また、この方法によるキーボード切り替えは別のAppにはひきつがれません。そのため、この方法でアルファベットにしたからといって、別のAppを開くとまたもとにもどってしまいます。 * パスワードキーボードを表示させる + この方法だと確実に英語キーボードになりますが、入力途中で日本語キーボードにきりかえることはできませんし (英語キーボードしかできないから) 、入力した文字も表示されません (これはYahoo! JAPANやAmazon.co.jpのウェブサイトのログイン画面のように入力した文字をすいあげて別の枠に表示させるという方法で対処できる) 。 * キーボードを表示させずに自分でキーボードをつくる + これがいちばん現実的でしょう。キーボードAppの開発は大変だけどね。