iOS版BLEアプリの作り方【第1回:LINBLE Keyboardの概要】

こんにちは。今回、ムセンコネクトさんの企画「iOS版BLEアプリをゼロから作ってみました(企画〜開発〜審査まで)」を担当させていただくことになりました株式会社ERiの澤村です。
企画の趣旨や概要説明はこちらの記事をご覧ください。
第1回目はアプリの概要についてご説明していきたいと思います。
iOSアプリ「LINBLE Keyboard」の概要
では早速ですが、今回開発したiOSアプリ「LINBLE Keyboard」の概要についてご説明します。
LINBLE Keyboardは、キーボード着せかえアプリです。
このアプリの最大の特徴は『キーボード上で株式会社ムセンコネクトのBLEモジュール「LINBLE-Z1」とBLE通信を行うことができる』という点です。
LINBLE-Z1から受信したBLEデータはキーボード入力に変換されるため、キーボードが利用できる標準メモアプリなどの様々なアプリで受信データを確認できるようになります。
もちろん、通常のキーボードと同じようにキータッチによるテキスト入力も可能です。

LINBLE Keyboardの使い方動画
LINBLE Keyboardがどんな動きをするアプリなのか、どのように使うアプリなのか、アプリのイメージをつかんでいただくには動画をご覧いただくのが一番です。
下記の動画をご覧いただければ、LINBLE-Z1とiPhoneがBLE通信を行い、LINBLEから送られたデータがiPhoneに表示される様子がおわかりになると思います。
App Extensionを使えば他社製アプリ内でも受信データが表示できる
少し専門的なお話となりますが、LINBLE KeyboardはiOSが用意している「App Extension」を使って実装しています。
App Extensionというのは、その名の通り「アプリの機能を拡張することができる機能」のことで、このApp Extensionの仕組みを利用することで、LINBLE-Z1から送られたデータを自社製アプリの中だけではなく、標準メモアプリや他社が作ったアプリ内でもデータ表示できるようになります。
App Extensionには機能ごとに様々な種類があり、LINBLE Keyboardではソフトウェアキーボードを提供するための「Custom Keyboard(以後、キーボードアプリとします)」を使用しています。

LINBLE Keyboardは「収容アプリ」と「キーボードアプリ」の2つで構成される
なお、キーボードアプリ単独ではアプリを配布することはできません。App Extensionはあくまで機能を拡張するものであるため、「Containing App(以後、収容アプリとします)」と呼ばれるアプリに「キーボードアプリ」を同梱する形でアプリを完成させる必要があります。

つまり、LINBLE Keyboardは内部的に「収容アプリ」と「キーボードアプリ」の2つから構成されます。「収容アプリ」と「キーボードアプリ」はそれぞれ役割が異なり、収容アプリでは「接続したいLINBLEの選択や各種設定」を行い、キーボードアプリでは「テキスト入力やBLE通信、および接続/切断の操作」を行います。

LINBLE KeyboardはApp Storeで公開済み
少し説明が専門的になってしまいましたが、もちろんユーザー自身はアプリ内部の構成などを気にする必要は無く、他の一般的なスマホアプリ同様、App Storeから『LINBLE Keyboard』をダウンロードするだけでOKです。

LINBLE Keyboardは既にApp Storeで公開されており、アプリはこちらからダウンロード可能です。
なお、開発環境は以下の通りとなっております。
- OS: macOS Big Sur 11.4
- Swift: 5.3.2
- Xcode: 12.4
LINBLE Keyboardの概要まとめ
以上、第1回「LINBLE Keyboardの概要」について解説しました。
- 今回開発した「LINBLE Keyboard」はキーボード着せ替えアプリ。
- iOSの「App Extension(Custom Keyboard)」の仕組みを利用することで、自社で開発したアプリ内だけではなく、他社が作ったアプリ内でも受信したBLEデータを表示できるようになる。
- App Extensionの仕組み上、LINBLE Keyboardは「収容アプリ」と「キーボードアプリ」の2つで構成されている。
- 収容アプリは「接続したいLINBLEの選択や各種設定」を行い、キーボードアプリは「テキスト入力やBLE通信、および接続/切断の操作」を行う。
次回からはこの「LINBLE Keyboard」の企画、開発、審査までの流れについてお話していきます。第2回目は「アプリの企画書作成」についてお届けします。