-
Notifications
You must be signed in to change notification settings - Fork 159
Description
Build/Submit details page URL
Summary
Hey, I'm using the EAS workflows to build and submit my apps. In Android everything works as expected but in iOS, the submit job keep submitting my build into another Apple Store Connect app.
I currently have 2 different apps, one for preview and one for production. The workflows with the preview environment works fine. But the production one also submits the app here instead to the production app.
I can see that all the values in the submitting logs are right, like sku, profile and ascAppId.
The prod ascAppId is 674**24054. I can see its being submitted:
[11:08:25]: Creating authorization token for App Store Connect API
[11:08:25]: Ready to upload new build to TestFlight (App: 674**24054)...
[11:08:25]: Going to upload updated app to App Store Connect
[11:08:25]: This might take a few minutes. Please don't interrupt the script.
[11:09:36]: --------------------------------------------------------------------
[11:09:36]: Successfully uploaded package to App Store Connect. It might take a few minutes until it's visible online.But the app ends up here:
I'm specifying everything I can in the eas.json file so both apps get submitted to the right place.
Here is my eas.json
{
"cli": {
"version": ">= 10.2.4"
},
"build": {
"development": {
"developmentClient": true,
"distribution": "internal"
},
"preview": {
"environment": "preview"
},
"production": {
"environment": "production"
},
"e2e": {
"environment": "preview",
"distribution": "internal",
"developmentClient": false,
"channel": "e2e",
"android": { "buildType": "apk" }
}
},
"submit": {
"production": {
"ios": {
"appleId": "info@****.com",
"ascAppId": "674**24054",
"appleTeamId": "**********",
"sku": "com.hot2eat.app"
},
"android": {
"track": "alpha"
}
},
"preview": {
"ios": {
"appleId": "info@****.com",
"ascAppId": "67**973422",
"appleTeamId": "**********",
"sku": "com.hot2eat.app.preview"
},
"android": {
"track": "internal",
"releaseStatus": "draft"
}
}
}
}And here is my ios-production-build.yml
name: iOS Production Build
on:
push:
tags:
- "v*"
- "!v*-preview*"
jobs:
build_ios_production:
name: Build iOS app
type: build
params:
platform: ios
profile: production
submit_ios_production:
name: Submit to TestFlight
needs: [build_ios_production]
type: testflight
params:
build_id: ${{ needs.build_ios_production.outputs.build_id }}
profile: productionI've also tried to remove the profile from the submit params but the outcome is the same.
Managed or bare?
managed
Environment
expo-env-info 2.0.7 environment info:
System:
OS: macOS 15.6.1
Shell: 5.9 - /bin/zsh
Binaries:
Node: 23.3.0 - ~/.nvm/versions/node/v23.3.0/bin/node
Yarn: 1.22.22 - ~/.nvm/versions/node/v23.3.0/bin/yarn
npm: 10.9.0 - ~/.nvm/versions/node/v23.3.0/bin/npm
Watchman: 2025.05.26.00 - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.16.2 - /opt/homebrew/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 25.0, iOS 26.0, macOS 26.0, tvOS 26.0, visionOS 26.0, watchOS 26.0
IDEs:
Android Studio: 2024.2 AI-242.23339.11.2421.12550806
Xcode: 26.0.1/17A400 - /usr/bin/xcodebuild
npmPackages:
babel-preset-expo: ~54.0.0 => 54.0.3
expo: ^54.0.10 => 54.0.10
react: 19.1.0 => 19.1.0
react-native: 0.81.4 => 0.81.4
npmGlobalPackages:
eas-cli: 16.20.0
Expo Workflow: bareError output
No response