InputMethodKitとTCAを使ったmacOS上で動作するIMEの開発 by Tatsumi0000

iOSDC Japan 2024
採択
パンフ記事(4ページ)

InputMethodKitとTCAを使ったmacOS上で動作するIMEの開発

Tatsumi0000
1

macOS上で動作するIMEを開発するために、Appleが公式で提供するInputMethodKitを利用して開発しました。

InputMethodKitでは主に、IMKInputController、IMKCandidates、IMKServerの3つのクラスを使って開発します。実際に開発をする中で、特にロジックが集中するIMKInputControllerのコードが肥大化し、コードの見通しが悪くなるという問題に直面しました。他にもIME開発特有のデバッグの煩わしさもありました。

そこでコードの見通しの悪さに対してはThe Composable Architecture(TCA)を導入し、IMEのデバッグの煩わしさに対しては、fastlaneを使った自動化や、Repository層とUseCase層を採用したマルチモジュール構成でデバッグ専用のアプリを開発し煩わしさを軽減しました。

本稿では開発を通して得た知見について、実際のコードと一緒にInputMethodKitとTCAを組み合わせた開発手法と、fastlaneを使った効率的なデバッグ方法について解説します。