Как настроить сборку и отправку вашего приложения Expo?
Мы поговорим о приложении, имеющем три необходимых окружения. Разработка, испытания и производство. Прежде чем начать, вам необходимо иметь выставочную учетную запись, после чего вы можете создать три проекта под своей организацией. Я не использовал суффикс для имени производственного приложения, но добавил суффиксы «dev» и «test» для других приложений. Предположим, имя моего приложения — «приложение», тогда другие мои приложения — «приложение-разработчик» и «приложение-тест».
Конфигурации сборки
В вашем выставочном приложении вы можете создать переменные среды в app.config.ts.
const dev = { apiUrl: "http://application-test.api:8080", appIdentifier: "com.application.dev", appName: "Application Dev", appSlug: "application-dev", easProjectId: "project-id", iconPath: "./assets/icon.png", adaptiveIcon: "./assets/adaptive-icon-dev.png", androidGoogleServicesFile: "./dev-google-services.json", iosGoogleServicesFile: "./GoogleService-Info.plist" }; const test = { apiUrl: "http://application-test.api:8080", appIdentifier: "com.application.test", appName: "Application Test", appSlug: "application-test", easProjectId: "project-id", iconPath: "./assets/icon.png", adaptiveIcon: "./assets/adaptive-icon-test.png", androidGoogleServicesFile: "./test-google-services.json", iosGoogleServicesFile: "./GoogleService-Info.plist" }; const prod = { apiUrl: "http://application.api:8080", appIdentifier: "com.application", appName: "Application", appSlug: "application", easProjectId: "project-id", iconPath: "./assets/icon.png", adaptiveIcon: "./assets/adaptive-icon.png", androidGoogleServicesFile: "./google-services.json", iosGoogleServicesFile: "./GoogleService-Info.plist" }; if (process.env.APP_ENV === "production") { appParams = prod; } else if(process.env.APP_ENV === "test") { appParams = test; } else { appParams = dev; }
easProjectId и appSlug должны соответствовать проектам, которые вы создали в expo.
После того, как вы объявили переменные среды, вы можете использовать эти переменные, используяprocess.env.APP_ENV при настройке конфигурации expo по умолчанию.
"expo": { "name": appParams.appName, "slug": appParams.appSlug, "version": appVersion, . . .
После вам нужно создать профили сборки для каждой среды в eas json.
{ "build": { "development": { "developmentClient": true, "distribution": "internal", "env": { "APP_ENV": "development" }, "ios": { "resourceClass": "m-medium", "simulator": true }, "channel": "development" }, "test": { "channel": "test", "env": { "APP_ENV": "test" } }, "production": { "channel": "production", "env": { "APP_ENV": "production" } } } }
Затем вы можете создать свое выставочное приложение с конкретным профилем и устройством.
e.g:
eas build -e development -p ios
Стеккадемический
Спасибо, что дочитали до конца. Прежде чем уйти:
- Пожалуйста, рассмотрите возможность аплодировать и следовать автору! 👏
- Следуйте за нами в Twitter(X), LinkedIn и YouTube.
- Посетите Stackademic.com, чтобы узнать больше о том, как мы демократизируем бесплатное образование в области программирования во всем мире.