2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【React Native Expo】iOSアプリで使用する環境変数について

2
Last updated at Posted at 2026-03-07

EXPOでのiOSアプリリリース前に以下の事象が発生。

  • デバッグでは実機で正常に動作することは確認できている
  • eas submitでTestFlightにアプリを提出した後、TestFlightからアプリを起動するとクラッシュする

つまり、開発環境での実機デバッグはうまくいくが、TestFlightでの実機テストはうまくいかない事象が発生していました。

原因

原因究明ができずサイトを漁っていたら以下の記事を発見し、助けられました。

原因は環境変数にありました.envで環境変数を定義し、コード上で使用していたのですが、easではeas.jsonに環境変数を定義し、EXPOに環境変数を登録しないといけなかったみたいです。全く気づきませんでした。。。

解決策

準備

npx expo install expo-constants

手順

eas.jsonに使用する環境変数を設定

eas.jsonがない場合はeas build:configureコマンドを実行

【サンプル】eas.json

// eas.json
{
  ...,
  "build": { // ビルド用設
    "development": { // 開発中のローカルデバッグ
      "developmentClient": true,
      "distribution": "internal",
      "env": {
        "API_KEY": "...",
        "PROJECT_ID": "..."
      }
    },
    "preview": { // 内部テスト等(筆者は使用したことがありません)
      "env": {
        "API_KEY": "...",
        "PROJECT_ID": "..."
      }
    },
    "production": { // アプリストア公開
      "env": {
        "API_KEY": "...",
        "PROJECT_ID": "..."
      }
    }
  },
  ...,
}

②必要な環境変数を登録。

例えば、本番環境(production)において、キー名とその値をそれぞれAPI_KEY1234567890ABCDEFGHIJKとした場合、以下のように実行する。

eas env:create --name API_KEY --value 1234567890ABCDEFGHIJK --environment production

環境変数が登録されたかどうかの確認はEXPOにアクセスし、ログインして確認する。

expo-constantsなどを用いてソースコード上で適宜参照。

app.config.tsapp.jsonと同じフォルダ(ディレクトリ)に作成する。

【環境変数の設定】app.config.ts

import type { ConfigContext } from '@expo/config'; // expo-constants

export default ({ config }: ConfigContext) => {
    config.extra = {
        ...config.extra,
        apiKey: process.env.API_KEY,
        projectId: process.env.PROJECT_ID,
    }
    return config;
}

【環境変数の取得例】

// インポート
import Constants from 'expo-constants';

// 取得
Constants.expoConfig?.extra?.apiKey,
Constants.expoConfig?.extra?.projectId,

【補足】④ローカル開発環境で.envを取得する

.envはapp.jsonファイルと同じフォルダに配置する。

# .env.localファイルを取得する
eas env:pull --environment development

公式

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?