🐱

eas updateでOTAアップデートの方法

2023/08/28に公開

eas updateとは

小さなバグなどをApp Storeの審査なしに更新してくれるツールです。

"EAS Update is a service that allows you to deliver small bug fixes and updates to your users immediately as you work on your next app store release."

eas updateの使い方

ここから実際にeasを使用してやっていきます。

  • buildの方法
  • app storeへの提出の方法
  • 更新の方法

諸所設定

必要なライブラリーなどはdocsを見てinstallしてください。
https://docs.expo.dev/build/setup/

easに必要な設定ファイルを作成します。

{
  "expo": {
    "name": "sample",
    "slug": "sample",
    "version": "1.0.2",
    "orientation": "portrait",
    "icon": "./assets/images/icon.png",
    "scheme": ["sample"],
    "userInterfaceStyle": "automatic",
    "sdkVersion": "49.0.0",
    "splash": {
      "image": "./assets/images/splash.png",
      "resizeMode": "contain",
      "backgroundColor": "#ffffff"
    },
    "assetBundlePatterns": ["**/*"],
    "ios": {
      "supportsTablet": true,
      "bundleIdentifier": "sample"
    },
    "android": {
      "adaptiveIcon": {
        "foregroundImage": "./assets/images/adaptive-icon.png",
        "backgroundColor": "#ffffff"
      }
    },
    "web": {
      "bundler": "metro",
      "output": "static",
      "favicon": "./assets/images/favicon.png"
    },
    "plugins": ["expo-router"],
    "experiments": {
      "tsconfigPaths": true,
      "typedRoutes": true
    },
    "extra": {
      "router": {
        "origin": false
      },
      "eas": {
         "projectId": "xxxx"
      }
    },
    "runtimeVersion": {
      "policy": "appVersion"
    },
    "updates": {
	"url": "${xxxx}"
    }
  }
}


eas build:configure

上記を実行すると、eas.jsonが作成されるのでそこに変更を加えます。

{
  "cli": {
    "version": ">= 4.1.2"
  },
  "build": {
    "development": {
      "developmentClient": false,
      "distribution": "internal",
      "channel": "development"
    },
    "preview": {
      "distribution": "internal",
      "channel": "preview"
    },
    "production": {
      "channel": "main"
    }
  },
  "submit": {
    "production": {}
  }
}

https://github.com/expo/eas-cli/issues/1557#issuecomment-1335566466

buildの方法

buildを開始していきます。

eas build -p ios

-pは、platformの略です。

これで、expo内でのbuildが完了です。

eas submitapp storeにアップロード

これは、expo内のサーバーにあるコードをapp storeによしなに提出してくれます。

eas submit --latest -p ios

--latestは、最新のbuild versionのコードを選択という意味です。
これで、app storeのTestFlightで検証をできます。

eas updateで更新

ついに、updateです。
下記のコマンドを実行することで、追加でbuildやsubmitのコマンド打たずとも更新ができます。

eas update --branch main --message "This is Test"

Discussion