Publish your app
Publishing in Appifex has two steps: connect your cloud accounts (one-time setup), then publish whenever you're ready. You can do both from the Appifex mobile app or the web dashboard.
From the Appifex mobile app
Set up credentials
Watch the full video above (4:46) for a visual walkthrough of credential setup, or follow the written steps below.
Before your first publish, you need to connect your cloud accounts. All credential setup lives under Settings → Deployment Setup.
| Provider | What it's for | Required for |
|---|---|---|
| Apple Developer | App Store Connect API access | iOS publishing (TestFlight / App Store) |
| Expo / EAS | Cloud builds and OTA updates | Mobile publishing (iOS and Android) |
| Cloud provider (Vercel, Railway, or Fly.io) | Web and backend hosting | Web and backend publishing |
Navigate to Deployment Setup
- Tap your profile icon to open Settings
- Under the Publishing section, tap Deployment Setup
- You'll see a checklist showing your credential status (e.g., "1/3 credentials configured"):
- Apple Developer — App Store Connect API key
- Expo / EAS — Build service credentials
- Cloud Backend Provider — Railway, Vercel, or Fly.io
Each row shows a green checkmark when connected, or a blue Set up → link when not. Tap any row to set up that provider.
Apple Developer account
You need an Apple Developer account to publish to TestFlight or the App Store. Appifex connects via an App Store Connect API key.
Prerequisites:
- An active Apple Developer Program membership ($99/year)
- All agreements signed in App Store Connect
Step 1: From Deployment Setup, tap Apple Developer. You'll see a form for your API key credentials.
Step 2: Create an API key in App Store Connect:
- Go to App Store Connect → Users and Access → Integrations → App Store Connect API
- Tap the + button to create a new key
- Name it (e.g., "Appifex") and set access to Admin
- Tap Generate
- Download the .p8 file — you can only download it once
- Copy the Key ID and Issuer ID shown on the page
The .p8 private key file can only be downloaded once. Save it somewhere safe.
Step 3: Back in the Appifex app, fill in the form:
| Field | Where to find it | Format |
|---|---|---|
| Key ID | App Store Connect API keys page | 8–10 alphanumeric characters |
| Issuer ID | Top of the API keys page | UUID format |
| Team ID | developer.apple.com/account → Membership details | Exactly 10 alphanumeric characters |
| Private Key | The .p8 file you downloaded | Tap Upload .p8 file to select it from your device |
Optionally add Team Name and Developer Email for reference.
Step 4: Tap Save. Appifex validates the key format and stores your credentials securely.
Expo / EAS account
Expo's EAS (Expo Application Services) handles cloud builds for both iOS and Android.
Step 1: If you don't have an Expo account, sign up at expo.dev. The free plan works for most projects.
Step 2: Generate an access token:
- Go to expo.dev/settings/access-tokens
- Tap Create token
- Name it (e.g., "Appifex") and select Full access permissions
- Tap Create and copy the token — it's only shown once
Step 3: From Deployment Setup, tap Expo / EAS. Paste your token and tap Connect.
Appifex validates the token, detects your Expo username, and links an EAS project to your Appifex project. Once connected, you'll see your Expo owner name and EAS project details.
Cloud provider (Vercel, Railway, or Fly.io)
You need at least one cloud provider to host your web frontend and backend API. Appifex supports three options:
| Provider | Free tier | Token page |
|---|---|---|
| Vercel (recommended) | Generous free plan, no credit card | vercel.com/account/tokens |
| Railway | $5 free trial credit | railway.app/account/tokens |
| Fly.io | Free allowances for small apps | fly.io/user/personal_access_tokens |
The video above demonstrates setup with Vercel. The process is the same for all three providers.
Step 1: From Deployment Setup, tap Cloud Backend Provider → select your provider (e.g., Vercel).
Step 2: A quick guide appears on first visit, walking you through creating a token on your provider's site. Go to the token page (linked in the table above) and create a new token.
Step 3: Paste your API token and tap Connect. Appifex validates it immediately. The card shows a green Connected badge when successful.
Railway and Fly.io have optional fields (project ID, app name, region) that you can configure later. Only the API token is required to get started.
Publish
Watch the full video above for a visual walkthrough of the publish flow, or follow the written steps below.
Publish your backend
Step 1: Open the Appifex app and tap on your project.
Step 2: Tap the ⋯ (ellipsis) menu in the top-right corner. Select Publish to Production.
Step 3: A bottom sheet appears titled "Publish to production" showing your available platforms and their connected providers (e.g., Backend → Vercel). Tap the Publish button.
Step 4: Watch real-time progress:
- Connecting to cloud provider — Appifex connects to your account
- Deploying — Your backend is built and deployed
This typically takes under a minute.
Step 5: When deployment completes, you'll see:
- Published! — "Your app is now live in production"
- Your production URL (e.g.,
https://backend-xxxxx.vercel.app) - Copy and Open buttons to share or visit your live API
If your project has a mobile component, a Publish Mobile button appears next.
Submit to TestFlight
Step 1: Tap Publish Mobile from the success screen, or tap the ⋯ menu and select Publish to App Store. Appifex runs a readiness check to verify your Apple Developer and Expo credentials.
Step 2: The Submit to TestFlight form appears with pre-filled values:
| Field | Description |
|---|---|
| App Name | Your app's display name (pre-filled from your project, max 30 characters) |
| Bundle ID | Unique identifier (auto-generated, e.g., com.appifex.yourappname) |
| Version | App version, defaults to 1.0.0 |
Review the values and adjust if needed.
The build and submission process takes 15–20 minutes. You can close the app and come back later — Appifex will notify you when it's ready.
Step 3: Tap Start submission. You'll see each stage as it progresses:
- Starting — Preparing submission
- Checking Credentials — Validating your Apple Developer credentials
- Setting Up App Store — Registering your Bundle ID with Apple
- Preparing Environment — Setting up the build environment from your GitHub main branch
- Building iOS App — Building your iOS app (this is the longest step)
- Uploading to TestFlight — Submitting the build to Apple
Step 4 (first time only): Create your app in App Store Connect.
If this is your first submission, Appifex shows a Create App guide with step-by-step instructions and all the values you need to copy:
- Tap Open App Store Connect — opens appstoreconnect.apple.com/apps in Safari
- Tap the + button → New App
- Fill in the details using the values Appifex provides:
- Platform: iOS
- Name: Your app name (copy from Appifex)
- Bundle ID: Select the one matching your project from the dropdown (Appifex already registered it)
- SKU: Copy from Appifex
- Primary Language: Select your language (e.g., English (U.S.))
- User Access: Select Full Access
- Tap Create, then switch back to the Appifex app and tap Continue
The Bundle ID dropdown in App Store Connect will show your Appifex-registered bundle IDs. Select the one matching your project.
Step 5: The build continues automatically. You can close the app — the note at the bottom confirms: "You can close this and check back later. We'll notify you when it's ready."
Step 6: When done, you'll see:
Submitted to TestFlight! — "Your app has been submitted. It will be available on TestFlight once Apple processes it."
Tap Done to close. Apple typically processes TestFlight builds within a few minutes to an hour.
From the web dashboard
Set up credentials
- Open your project in the web dashboard at appifex.ai
- Click the Connect tab in the left sidebar
- Under Publishing & deployment, you'll see cards for each provider
Apple Developer account:
- Find Apple Developer Account and click Set up API key
- A setup wizard guides you through four pages:
- Readiness checks — Confirm your Apple Developer Program membership, signed agreements, and Expo account
- API key creation — Step-by-step checklist for creating a key in App Store Connect
- App creation — Enter your App Name and Bundle ID (matching what you created in App Store Connect)
- Credentials — Enter Key ID, Issuer ID, Team ID, and upload your .p8 Private Key
- Click Done to save
Expo / EAS account:
- Find Expo / EAS and click Enter access token
- Paste your Expo access token (see how to generate one above)
- Click Save
Cloud provider:
- Find your chosen provider (Vercel, Railway, or Fly.io) under Deployment providers
- Click Enter credentials
- Paste your API token and click Save
Each provider card links directly to the token creation page on that provider's site.
Publish your backend
- Click Publish in the session toolbar
- In the Publish modal, check the platforms you want to deploy (Web, Backend, or both)
- Select a provider from your connected accounts (or connect one inline)
- Click Deploy and watch real-time progress
- When complete, your production URLs appear with copy links
After your first publish:
- The button shows Published when your deployed code is up to date
- It changes to Re-publish when new code changes are ready to ship
Submit to TestFlight
- Go to your project's Settings → Publishing section
- Under iOS (TestFlight / App Store), click Submit
- Enter your app name, bundle ID, and version
- Click Submit — Appifex builds and uploads to App Store Connect
- Builds take around 15–20 minutes. You can leave the page — progress saves automatically.
After submission
Testing with TestFlight
Once Apple processes your build:
- Open TestFlight on your iPhone
- Your new build will appear under your app
- Tap Install to test it on your device
- Share the TestFlight link with testers
Submitting to the App Store
When you're ready to go live:
- Go to App Store Connect
- Open your app → select the build
- Add screenshots, description, and metadata
- Click Add for Review to submit for App Store review
Publishing updates
After your first publish:
- Backend updates — Tap Publish again to redeploy. Subsequent deploys are faster.
- Mobile OTA updates — JavaScript/UI changes ship instantly via over-the-air updates without a new TestFlight submission
- Native changes — Require a new TestFlight submission (Appifex handles this automatically)
Troubleshooting
| Problem | Solution |
|---|---|
| Apple API key validation fails | Double-check Key ID (8–10 chars), Issuer ID (UUID format), and Team ID (exactly 10 chars). Make sure the .p8 file contents are complete. |
| Expo token not working | Ensure you selected Full access when creating the token. Robot tokens with limited scope won't work. |
| Deploy fails after connecting provider | Verify your token hasn't expired. Go to your provider's token page to check. |
| "Checking readiness" hangs | Verify your Apple Developer and Expo credentials in Deployment Setup (mobile) or the Connect tab (web). |
| Build fails during "Building iOS App" | Check that your code generates and previews successfully before publishing. |
| TestFlight build not appearing | Apple processing can take up to an hour. Check App Store Connect for status. |
Where to go next
| Preview and deploy | Full reference on preview vs production |
| Build a mobile app | Create your first iOS/Android app |
| Adding a backend | Add server-side features to your app |