В чем ошибка загрузки приложения React native в app store?
Сейчас ситуация такая:, возникла проблема с отправкой приложения в App Store. Я использую React Native Expo, билд делал через EAS, и всё нормально, но когда пытаюсь сделать eas submit --platform iOS, получаю ошибку в логах.
По вводным: [altool] NSUnderlyingError = "Error Domain=IrisAPI Code=-19241 \"A required agreement is missing or has expired.\" UserInfo={status=403, detail=This request requires an in-effect agreement that has not been signed or has expired., id=UYHUПКQQTKU24OI2Z7L167OL4M, code=FORBIDDEN.REQUIRED_AGREEMENTS_MISSING_OR_EXPIRED, title=A required agreement is missing or has expired., links={\n see = \"/business\";\n}, NSLocalizedDescription=A required agreement is missing or has expired., NSLocalizedFailureReason=This request requires an in-effect agreement that has not been signed or has expired.}";
По вводным: [altool] "iris-code" = "FORBIDDEN.REQUIRED_AGREEMENTS_MISSING_OR_EXPIRED";
По вводным: я нахожусь в Казахстане, и у приложения ограничено распространение только по странам СНГ.
По вводным: во вкладке /business у меня так, приложение бесплатное.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос

Ошибка App Store Connect “A required agreement is missing or has expired” не связана с React Native, Expo, EAS или вашим ipa. Это административная проблема аккаунта Apple Developer: не подписано новое соглашение, истекла программа, не приняты условия Paid Applications/Business или у пользователя, чьим API key выполняется submit, нет нужных прав.
Что нужно сделать:
Важно: принять соглашения может не любой Admin. Некоторые условия должен принять именно Account Holder. Поэтому если вы разработчик в команде, попросите владельца аккаунта зайти и принять новые terms.
После принятия соглашений подождите несколько минут и повторите submit:
eas submit --platform ioseas submit --platform ios
Если используется ASC API Key, проверьте, что ключ не отозван и имеет доступ к нужной команде. В EAS credentials можно заново настроить ключ:
eas credentials -p ios eas submit -p ios --latest
Также проверьте, что bundle identifier приложения привязан к правильной команде Apple. Иногда локально билд собирается, но submit идет в другой аккаунт/team, где соглашение не принято.
В логах altool уже есть точный код: FORBIDDEN.REQUIRED_AGREEMENTS_MISSING_OR_EXPIRED. Это означает, что пересобирать приложение, менять provisioning profile или чистить кэш бессмысленно до принятия соглашений. Сначала закрываете юридические/аккаунтные требования в App Store Connect, затем повторяете отправку. Если после этого ошибка остается, проверьте, под какой team id выполняется submit.