Connecting Apple and Google: troubleshooting
What each message means when connecting your Apple or Google Play account or uploading a build, and how to get past it.
Connecting a store and uploading a build involve Apple's and Google's own checks, and each one can stop you with a message. Find yours below. The walkthrough itself is in Publish to TestFlight and Google Play.
| What you see | What to do |
|---|---|
| Apple: the 6-digit code is rejected, or no code arrives | Sign in again and enter the newest code. See Apple verification code. |
| Apple: Choose a team, or Ask for the Admin role | Publish with a team where you are the Account Holder or an Admin. See Choose a team. |
| Apple: Enable App Store Connect API access | The team's Account Holder opens App Store Connect → Users and Access → Integrations, clicks Request Access under App Store Connect API and agrees to the terms. Then click Check again in Floot. |
| Apple: Sign the Apple Developer agreement | The Account Holder accepts the latest agreement in App Store Connect, from the banner or under Business → Agreements. Then check again or publish again. Nothing needs to be reconnected. |
| Apple: the account needs to be an Apple Developer Program account | Enroll at developer.apple.com ($99 a year, paid to Apple), then connect again. |
| Apple: your sign-in has expired | Click Login Apple, sign in, and publish again. Apple sign-ins expire from time to time; your app and your builds are not affected. |
| Apple no longer accepts the App Store Connect API key | In App Store Connect, open Users and Access → Integrations → App Store Connect API and look at the key. If it was revoked, click Create new key in Floot to sign in and issue a new one. If it is still active, check that API access is on for the team and that your developer membership has not lapsed. |
| Apple: the team has reached its key limit | Revoke a key you no longer use, then try again: under Keys in the Apple Developer portal for a push key, or under Users and Access → Integrations in App Store Connect for an API key. |
| The build finished but is not in TestFlight | See TestFlight does not show the build. |
| Google: You need to select all permissions | Google's sign-in screen lets you skip checkboxes. Click Try again and tick every one, or Select all, before you continue. |
| Google: the account you signed in with isn't an admin of this Google Play developer account | See Google refused to add Floot. |
| Google: Create your app in Play Console | Floot found no app with your package name. Create it in Play Console, pasting the package name Floot shows, then click Check again. |
| Google Play expects your existing upload key | See the wrong upload key. |
| Google: accept the Google Cloud terms, set up a Firebase project, or Login Google | See Push setup stops and asks for something. |
| Google Play is locked on the Publish screen | Connecting Google Play needs a paid Floot plan. Apple works on every plan. |
Apple verification code
After your Apple ID and password, Apple sends a 6-digit code to your trusted devices: a prompt on an iPhone, iPad or Mac signed in to that Apple ID. If the Apple ID has no trusted device, Apple texts the code to your trusted phone number instead. Floot does not store your password, and there is nothing to reset on Floot's side when a code fails.
- The code is rejected. Start the sign-in again and enter the code from the newest prompt, not one from an earlier attempt.
- No prompt appears. Check that the device is signed in to the same Apple ID. You can also ask a trusted iPhone or Mac for a code in its Apple Account settings, under Get Verification Code.
- Too many verification codes. After too many requests for one Apple ID, Apple refuses to send more for a while, and codes requested outside Floot count too. Floot passes on what Apple says: wait a moment and try again, or, when Apple has stopped sending codes for the Apple ID, wait a few hours.
Choose a team, and Ask for the Admin role
Floot creates your app and uploads builds through App Store Connect, and Apple allows that only for a team's Account Holder or an Admin.
- Choose a team appears when your Apple ID is on several App Store Connect teams. Each team shows your role on it. Pick the one you publish with. A team marked Needs Admin cannot be picked.
- Ask for the Admin role means your Apple ID and password were right, but the Apple ID is not an Admin on the team. Ask the team's Account Holder to give it the Admin role in App Store Connect → Users and Access, then connect again.
TestFlight does not show the build
- Give Apple time. The build takes about 4 minutes, then Apple processes it for another 5 to 30 minutes. The iOS row on the Publish screen reads Apple is processing the build until then.
- Open TestFlight with the Apple ID you connected. Floot adds that Apple ID as the tester, in a group called Floot Internal. No redemption code is needed. Other people see the build only after you add them as testers in App Store Connect.
- Check that the build included Apple. A publish with Publish mobile app off, or with the Apple store switched off under App stores, uploads nothing to TestFlight.
- Check the version. Apple does not offer testers a build whose version is lower than the highest one already in TestFlight. Raise Version on the Publish screen and publish again.
- Look in App Store Connect. If Apple rejected the build while processing it, the reason is under TestFlight there.
If the publish fails with a message that the build completed and the issue is on Apple's side, Apple's upload service did not answer in time. Publish again later; the project itself is fine.
Google refused to add Floot
When you click Invite Floot, Google adds Floot's publishing account to your app on your behalf. Google refuses if the Google account you signed in with cannot manage users on that Play developer account. The usual cause is the sign-in popup picking your browser's default Google account, not the one that owns the Play Console.
- Try again and choose the Google account that owns your Play Console, or one that has the Admin permission under Users and permissions there. It does not have to be the account you log in to Floot with.
- If that is the account you used, check that the Play Console link you pasted comes from the right developer account. The link has to be your app's own page, copied from the browser's address bar.
Google Play expects your existing upload key
Google accepts an update only when it is signed with the upload key the app was first uploaded with. This message means the app was uploaded to Google Play before, with a key Floot does not have. That key was made on the computer the app was first uploaded from. Floot did not create it, and neither Google nor Floot can give it to you.
- 1
If you have the keystore
Click Reconnect Google Play, choose Yes, it's already on Play, and upload the keystore file (
.jks,.keystoreor.p12) with its password. Then publish again. - 2
If you cannot find it
- Generate a new upload key on your computer.
- Send its PEM public certificate through Play Console's Request upload key reset form.
- Wait for Google's approval. After Google approves, it can take up to 48 hours before the new key works.
- Click Reconnect Google Play, choose Yes, it's already on Play, and upload the new key file.
Push setup stops and asks for something
When your project uses push, the first publish that includes Google Play sets up Firebase under the Google account you connected. Google can ask for one of three things first.
- Your Google sign-in is missing the push permission, or has expired
- Click Login Google, sign in again with every permission ticked, then publish again.
- Accept the Google Cloud terms
- Open console.cloud.google.com signed in with the Google account you connected, accept the terms of use, then click Check again in Floot.
- Firebase terms not accepted
- Open console.firebase.google.com signed in with the same Google account. Click Get started by setting up a Firebase project, type any name, and keep clicking Continue until the project is created. Then click Check again in Floot. This is a one-time step for your Google account, and you can delete that project afterwards.
Where a build's status shows
- While it runs: the Publish screen has one row per target: Web, iOS · Apple App Store, Android · Google Play, or Mobile · APK build when no store is connected. Each row shows the step it is on. You can close the tab; the build keeps going.
- Afterwards: under App stores, each connected store shows its latest build: TestFlight build or Internal testing build with its number, or Last build failed — publish again. The Last build card holds the Android APK and the project zip, or says that the native build failed.
- From your assistant: ask it for the publish status. It reports the app build along with the website.
- On the store's side: once a build is uploaded, App Store Connect (under TestFlight) and Play Console (under Internal testing) are where it lives. Floot does not move a build to production: you submit it for review there.
What only Apple or Google can settle
Identity checks on your developer account, app review, and changes to your store listing happen with Apple and Google. Floot cannot speed them up or see why they are waiting.