アプリ開発をしていると、接続するサーバーを切り替えたり、特別なポップアップが毎回出るようにするために、アプリ内にデバッグメニューを作りたくなると思います。しかし、アプリ内デバッグメニューには下記のようなデメリットもあります。
・フラグ管理を誤ると、一般ユーザにもデバッグメニューが見えてしまう事故が起きる
・App Storeで配布されているアプリでデバッグメニューが使えない
・アプリごとにデバッグメニューの実装が異なり、他チームのエンジニアがヘルプに入った際の学習コストや、エンジニア以外がドッグフーディングする際にコストがかかる
・そもそもデバッグメニューがないアプリにUIから実装するの大変
こういったデメリットを解決するために、アプリ外部からデバッグ用のデータを注入・抽出できる仕組みを実装しました。この仕組みを用いると、App Storeに配布されているアプリにも安全にデバッグ用データを差し込むことが可能になります。
このトークでは、アプリに外部からデバッグ用データを注入・抽出する仕組みの実現方法と、得られるメリットとデメリットについてお話します。