アプリ内にデバッグメニューを作るのはやめよう。外から注入しよう。 by FromAtom

iOSDC Japan 2019
レギュラートーク(30分)

アプリ内にデバッグメニューを作るのはやめよう。外から注入しよう。

FromAtom FromAtom FromAtom
14

アプリ開発をしていると、接続するサーバーを切り替えたり、特別なポップアップが毎回出るようにするために、アプリ内にデバッグメニューを作りたくなると思います。しかし、アプリ内デバッグメニューには下記のようなデメリットもあります。

・フラグ管理を誤ると、一般ユーザにもデバッグメニューが見えてしまう事故が起きる
・App Storeで配布されているアプリでデバッグメニューが使えない
・アプリごとにデバッグメニューの実装が異なり、他チームのエンジニアがヘルプに入った際の学習コストや、エンジニア以外がドッグフーディングする際にコストがかかる
・そもそもデバッグメニューがないアプリにUIから実装するの大変

こういったデメリットを解決するために、アプリ外部からデバッグ用のデータを注入・抽出できる仕組みを実装しました。この仕組みを用いると、App Storeに配布されているアプリにも安全にデバッグ用データを差し込むことが可能になります。

このトークでは、アプリに外部からデバッグ用データを注入・抽出する仕組みの実現方法と、得られるメリットとデメリットについてお話します。