•アプリケーションの仕様•開発環境• 動作環境•アプリの仕様。吸容アプリケーションの仕様■起動直後の画面■接続先のコントロール■ LINBLEと未接続の場合■ LINBLEと接続中の場合■ Custom Keyboard Extensionの動作設定■ユーザガイド■動作確認画面。 Custom Keyboard Extensionの仕様■ LINBLEとの接続■ LINBLEからの受信データの入力■通常のソフトウェアキーポードとしてのビューの提供■ビュー表示の状態遷移■状態ごとのピュー
開発環境
•統合開発環境: Xcode • 開発言語: Swift
動作環境
● 動作対象: iOS 14以上
アプリの仕様
本アプリは、Custom Keyboard Extensionというキーボード着せ替え機能と、Custom Keyboard Extensionを提供するiOSアプリケーションから機成されます。このCustom Keyboard Extensionを提供するiOSアプリケーションを、Appleのドキュメントにあわせ、収容アプリケーションと呼称します。収容アプリケーションで接統先のコントロールを行い、Custom Keyboard Extensionで接統、LINBLEからの受信データを、フォーカスしたテキスト入力欄へ入力します。
収容アプリケーションの仕様
収容アプリはデバイス面面、設定面面、ユーザガイド面面の3つで成り立ちます。

起動直後の画面
インストール後の初回起動時のみ、ユーザガイド画面を表示します。このとき、キーボードの追加とフルアクセスの許可のオンを促すダイアログを表示しまtoダイアログの「OK」を押下すると、iOSの標準アプリである設定アプリに切り替わり、本アプリの設定画面を表示します。 2回目以降の起動時には、デバイス画面を表示します。
接続先のコントロール
•リストUIから接続先を選択します。リストUIは以下のように表示されます。 。周囲のデバイスのスキャン結果をRSSIが強い順に表示します。 。一定周期（2秒）で更新されます。 。最終受信時刻から60秒経過したデバイスはリストから削除されます。 。リストを上から下にスワイプすることで、リストを最新の情報に更新することができます。 •接続先を選択後にアプリを終了しても、選択状態は引き継がれます。 •リストUIの表示・更新にはBluetoothを使用します。 。本体のBluetooth機能がOFFになっていた場合は、Bluetooth機能をONにすることを促す内容のダイアログを表示します。 。アプリのBluetoothの使用許可がOFFの場合も、Bluetoothの使用許可を求める旨のダイアログを表示します。
LINBLEと未接続の場合

キーボードが表示されたときに、選択したLINBLEに対して接続を試みます。
LINBLEと接続中の場合

•リストUIの一番上に現在選択中のLINBLEを表示します。二番目以降はRSSIが強い順に表示されます。 •選択中のLINBLEは、最終受信時刻から一定時間経過していてもリストから削除されません。 •キャンセルポタンを押すと、LINBLEの選択を解除します。 •接続中のLINBLEとは別のLINBLEのつかうポタンをタップした場合、「すでに別のデバイスが選択済みです現在選択したデバイスに切り替えますか？」という旨のダイアログを表示します。 。「OK」をタップした場合は、選択していたデバイスを切り替えます。キーポードを表示したときに、前回接続していたデバイスと切断し、新しく選択したデバイスに対して接続を試みます。 。 「Cancel」をタップした場合は、何も起きずダイアログを消します。
Custom Keyboard Extensionの動作設定

設定接続状態の表示キーボード上に接続状態を表示します
キーボードビューの上部に、接続状態を表示するビューを表示するかどうかをスイッチUIで制御可能にします。ユーザガイド
....そ[30]

キーボードの追加方法
1. 「設定」 Appを開きます。 2. 「一般」>「キーポード」をタップします。 3. 「キーポード」 > 「新しいキーポードを追加」をタップします。 4. 「LinbleKeyboard」をタップします。 5.追加された「LinbleKeyboard」をタップします。 6. 「フルアクセスを許可」をオンにします。 7.下の入力欄をタップし、キーボードを表示します。地球儀キー（動）を押し、LinbleKeyboardが表示されたら追加成功です。アプしてキーボードを表示できます
フルアクセスについて
フルアクセスの使用目的はBLE通信のみです。  用することはありません。フルアクセスをONにしなかった場合もキーボードは利用頂けますが、LINBLEとの通信はできませhvo
以下の内容を記載します。 •キーボードの追加方法。説明の一番下に、キーポードの動作確認を行うための入力欄を設けます。 •フルアクセスの許可について。「フルアクセスの使用目的はBLE通信のみです。本アプリがユーザの個人情報や入力内容を収集、利用することはありません。」のような文言を記載します。
動作確認画面

LinbleKeyboardを表示することで、接続・切断の動作確認を行うことができますキーボードの動作確認をする際に利用することを目的としています。画面を表示するとキーポードが自動で立ち上がります。
Custom Keyboard Extensionの仕様
LINBLEとの接続
キーボードが表示されたときに、収容アプリで接続対象として選択されたデバイスに対して接続を試みます。接続できるのは、LINBLE UART ServiceのUUIDを持ったデバイスのみとなります。接続に失敗した場合は、再度接続を試みます。切断を行う場合は、キーポードから行います。キーボードから切断を行わない限り、接続は継続されます。キーボード上にある切断ボタンを押すと切断することができます。また、収容アプリでデバイスの選択を切り替えた場合、キーボードを表示したタイミングで接続していたデバイスと切断し、新しく選択されたデバイスへ接続を試みます。なんらかの要因によって接続が切断された場合は3秒後に再接続を試みます。キーボードがバックグラウンドの場合でも再接続を試みます。
(注意)
別のキーボードに切り替えたときや、ホーム画面に戻った場合も接続は継続します。ただし、メモリ不足などの要因によって、OSによってキーボードが終了されることがあります。その場合はBLE接続は切断されますが、接続先の選択は解除されません。
LINBLEからの受信データの入力
LINBLEからの受信データを、現在フォーカスしているテキスト入力欄へ入力します。一部のASCIIコードを入力します。詳細については下図を参照してください。
グレーで網掛けされているものは破棄されます。また、テキスト入力欄にフォーカスしていない場合はすべての受信データが破棄されます。
通常のソフトウェアキーボードとしてのビューの提供
入力先を間違えたときに修正する際に使用することを想定しています。下図がイメージ図になります。
•以下のキー入力に対応しています。 。10進数文字の入力◾ 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 。桁区切り文字の入力◾ , , , ,  (←半角スペース) 。符号文字の入力■ +, - 。カーソル位置を1つずらすためのポタン■ <, > 。カーソル文字から1文字削除するためのポタン■ Backscape ◾ （補足）ポタンを押している間は、文字を連続で削除します。 。入力内容を確定するためのポタン■ Return 。別のソフトウェアキーポードに変更するためのボタン（Apple要求） ■地球儀マークキーボードビューの上部に、接続状態を表示するビューを提供します。
ビュー表示の状態遷移
状態ごとのビュー
•接続試行状態。 「切断」ポタンをタップすると、現在接続しているデバイスと切断します。 •外部要因による切断状態「按続」ポタンをタップすると、再度同じデバイスに按続を試みます。 •接続失敗状態2021/5/28 •データを受信した場合、入力・破棄に関わらず受信したことがわかるようにピュー上に表示を出します。通信可能です: LINBLE-TEST切断2021/5/28アプリ仕様• 収容アプリの設定より、キーボード上部にある接続状態の表示のON/OFFを切り替えることができます。接続状態を表示しない場合は下図のようになります。
Q