Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[expo] doc update #185

Merged
merged 1 commit into from
Dec 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion docs/expo/build.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Build - iOS/Android development

You need a IPA/APK for development purpose (a.k.a adhoc build). This document describes how to build IPA/APK for development.
This document describes how to build IPA/APK for development.

## Prerequisites

Expand Down Expand Up @@ -76,6 +76,15 @@ Once the build is completed, you can download and install the build on your devi

## Starting a development build

### .env.local

Finally, you also need to setup the following environment variables ant put them in `.env.local` file.

```
EXPO_PUBLIC_APP_CHECK_DEBUG_TOKEN={Your AppCheck Debug Token}
EXPO_PUBLIC_GRAPHQL_ENDPOINT={your GraphQL server}
```

when you develop the app inside your container while the development app is deployed on iOS/Android outside the container (e.g. physical deviecs),
your development build still need to connect react native packager to get the source code from your container. To do this, you need to set `REACT_NATIVE_PACKAGER_HOSTNAME`
so that your react native packager to bind with the address.
Expand Down
38 changes: 18 additions & 20 deletions docs/expo/submision.md
Original file line number Diff line number Diff line change
@@ -1,54 +1,52 @@
# Submission

The submission has to be done via [Github Actions / EAS - submit](https://github.com/yssk22/hpapp/actions/workflows/eas-submission.yml). This doc describes how it works.
The submission can be done as a part of Build workflow in Github Action ([Android](https://github.com/yssk22/hpapp/actions/workflows/eas-build-android.yml), [ioS](https://github.com/yssk22/hpapp/actions/workflows/eas-build-ios.yml)). What you need to setup for the submission are:

## 1. Build the production app
- config/eas.json
- config/AppStoreKey.p8
- config/PlayStoreKey.json

Before submitting the app, you have to build the app with `prod` from [Github Actions / EAS - build](https://github.com/yssk22/hpapp/actions/workflows/eas-build.yml). Once done, you'll have the latest build on EAS.
Those files are generated via environment secrets. So once you get the files, you can configure environment secrets.

[Github Actions / EAS - submit](https://github.com/yssk22/hpapp/actions/workflows/eas-submission.yml) simply do as follows:
- `EAS_SUBMIT` generates ./config/eas.json
- `APP_STORE_KEY` generates ./config/AppStoreKey.p8
- `PLAY_STORE_KEY` generates ./config/AppStoreKey.p8

1. Add `submist` section in your config/{env}/eas.json
## EAS_SUBMIT

if you want to submit the app to App Store Connect, you have to add the following section in your `eas.json` file.
This environment secret is a eas.json file only for submission, not build and should be the following format.

```
{
"submit": {
"prod": {
"ios": {
"ascAppId": "{app_id}}",
"appleTeamId": "{team_id}",
"appleId": "{apple_id}",
"ascAppId": "{app_id}",
"ascApiKeyId": "{api_key}",
"ascApiKeyIssuerId": "{api_key_issuer_id}",
"ascApiKeyPath": "./config/prod/AppStoreKey.p8",
"ascApiKeyPath": "./config/AppStoreKey.p8",
"sku": "dev.yssk22.hpapp",
"language": "ja-JP"
},
"android": {
"serviceAccountKeyPath": "./config/prod/PlayStoreKey.json"
"track": "internal",
"releaseStatus": "draft",
"serviceAccountKeyPath": "./config/PlayStoreKey.json"
}
}
}
}
```

2. generate `config/prod/AppStoreKey.p8` from `APPLE_APP_STORE_KEY_P8` secret stored in this reporsitroy.

This is the p8 file fetched from App Store Connect.

3. `./scripts/eas.sh submit --platform ios --profile prod --latest --non-interactive`

This command uses EXPO_APPLE_APP_SPECIFIC_PASSWORD secret in this repository though environment variable to authenticate with App Store Connect.
Once your submission is completed successfully, the app gets available via Testflight. Do test carefully before the submission.

## 2. Prepare screenshots.
## Screenshots.

Once your test is done, you now have to prepare screenshots for the app.

Download ]the mockup file](https://drive.google.com/file/d/1e1GQOTkazB1WE-dbJbU0Eogrb-vULb7Y/view), load it at [app-mockup](https://studio.app-mockup.com/), then customize the screenshots for your version, then export it.

## 3. Submit for review.
## 3. Submit for review (iOS)

Now you are ready to submit the app for review. Here is a sample description for the submission.

Expand Down
Loading