🎃

環境変数をXcodeのProcessInfo経由で取得できるのはXcodeからアプリを起動するときのみ

2022/07/04に公開

何が起きたか

アプリを開発しているときに API の認証情報などを環境変数として扱いたいと思い、Xcode のProcessInfo.processInfo.environmentを経由して認証情報を取得できるように考えました。

以下のように Xcode の Scheme から環境変数を設定し、アプリ内で使用するようにしてみました。
(今回は説明としてアプリの起動時に環境変数の有無を確認しています。)

プログラム スキーマから環境変数を設定

上のプログラムを実行すると、Xcode からアプリが起動された場合は問題なく環境変数を取得できますが、アプリを一度キルして、再度手動でアプリを開いてみると、環境変数が無くアプリがクラッシュしました。

まとめ

ProcessInfo.processInfo.environmentに環境変数を保存しても、アプリが Xcode から起動されないと値を取得できないという話でした。
これに気づかず、数時間溶かしたのでお気をつけください...

Discussion