2014年12月6日 17:13
インライン変換はなぜ使えない? iOS向けサードパーティー製キーボードにまつわる制約の話
●iOS 8の「機能拡張」とは
Yahoo! からiOS向けソフトウェアキーボードアプリ「Yahoo! キーボード」が公開された。どのアプリからも利用できるうえに無償ということもあり、その注目度は高い。しかし、App Storeで公開されるアプリであるがゆえの制約はある。ここでは、その「制約」について解説したい。
○限定的な機能拡張
iOS 8からサードパーティー製ソフトウェアキーボードが"解禁"された背景には、「機能拡張(App Extensions)」の導入がある。アプリ間連携とも呼ばれるこの機構は、アプリ間におけるデータ連係のポリシーを定義し、API(NSExtension)も整備される。表面上は単独動作するアプリであり、App Store経由での配布も可能だが、単独動作するかどうかは必ずしも重要視されない。
プログラムとしての機能拡張の実体は、アプリに格納されたモジュールにある。
このモジュールが他のプログラム(システムプロセスを含む)と連係することにより、ふだんは単独動作するアプリの機能を外部アプリに提供できる。キーボードアプリの実体は内部のモジュールにあり、というわけだ。
「Yahoo! キーボード」