Skip to content

Publishing Overview

Learn about the different ways to publish your app

Switch to Publish view using the Publish Menu Item icon in the main menu.

Publishing Activity

Need help with the store’s account checks, testing requirements, or a rejection? Our app publishing handbook walks through those steps for the Apple App Store and Google Play, with links to the official requirements.

The fastest way to publish is the Publish popover in the top bar of the Builder. It exposes four destinations side‑by‑side:

  • Progressive Web App — one-click web deployment
  • Apple App Store — native iOS publishing
  • Google Play Store — native Android publishing
  • Share — generate a public share page

If a native destination hasn’t been configured yet, choosing it routes you to the setup flow on the Publishing page first. Once configured, the popover lets you ship a build straight from the top bar.

Native destinations support both Production and Staging publishes. Staging publishes work the same as production but ship to TestFlight (iOS) or the Internal Testing track (Android). When you choose Staging, Draftbit shows a brief warning before continuing so you don’t accidentally ship to your testers without intending to.

Apps you import without migrating, and apps in a connected GitHub repository, can publish when their code matches a framework Draftbit knows how to build. Draftbit checks this when the app opens and again right before each publish. The Publish popover only lists the destinations your app can use. A destination that isn’t ready yet shows what needs to change, and the same list appears in the app checks in the top bar, where Ask Agent to Fix can make the changes for you. Publishing builds the saved version of your app, so save the agent’s changes before you publish.

FrameworkDestinationsRequirements
ExpoWeb, Apple App Store, Google Play StoreWeb publishing needs react-dom and react-native-web. Apps can use app.json or app.config. Each publish writes the version, build number, and bundle ID or package name to it and commits it to your main branch.
React Router on ViteWebReact Router framework mode (react-router and @react-router/dev) with a react-router.config.ts, the reactRouter() Vite plugin, and the default build output folder.
AstroWebAn astro.config file and the default dist output folder.

Every framework also needs:

  • Yarn as the package manager. A packageManager field set to npm, pnpm, or Bun isn’t supported.
  • Node 22 support. If package.json sets engines.node, the range has to include Node 22.

Apps on other frameworks, such as Next.js or a Vite app without React Router, can’t be published from Draftbit yet.

You can create native development builds of your app to preview on real iOS and Android simulators running in the Preview Panel. Simulators are available on the Pro plan and above.

From the Publishing page or the simulator-builds dropdown in the top bar, choose Build iOS Simulators or Build Android Simulators. Each platform action updates both the saved and unsaved versions of your app without rebuilding the other platform.

On the Simulator page, two build cards appear in the upper-right for the selected platform. The Saved and Unsaved cards show when their last successful simulator was built. Use a card’s rebuild icon when you only need to update that version; while it builds, the card displays its live status instead.

Imported and connected Expo apps can build simulators too. They need the same setup as publishing to the Apple App Store and Google Play Store. On iOS, the simulator asks you to confirm opening your app each time it starts.

The build process may take a few minutes to complete. Track the full build history from the Publishing page. Learn more about previewing your app in the Preview Panel.

Test builds are downloadable artifacts for running your app on a device, emulator, or simulator — they’re never published to a store. Use them to try your app outside the Preview Panel before you commit to a store publish.

From the Testing Builds tab on the Publishing page, you can create two kinds of builds:

  • Android Test Build — a downloadable .apk for devices and emulators
  • iOS Test Build — a downloadable .tar.gz for the iOS Simulator

Testing Builds

Click the Build button for the platform you want. Once a build finishes, it appears in the list below, where you can filter by status and download the resulting file.

Testing Builds are available on the Pro plan and above. If your organization moves to a lower plan, test builds you already made can’t be downloaded until you upgrade again.

You can create a public share page for any app in Draftbit. This gives your project a clean, standalone page where anyone can view and try it — no Draftbit account required. Great for sharing a prototype with a client, showing off a side project, or sending something to a friend for feedback.

Share Page

Just click the Publish button in the top right of the builder and enable the Share option. Your share page will be generated and a public URL will be provided which you can send to others.

Publish Project menu

Share Page Toggle

You can disable sharing later from the same publish popover. Disabled or invalid share links show an unavailable state instead of the app preview.

Publishing Sharing

Production and staging web deployments can be unpublished separately from the Builder publish popover. When a deployment is unpublished, its URL is inactive until you publish that environment again.

You can export your app’s codebase as a ZIP file for publishing your app manually or to continue development outside of Draftbit. Code Export is available on the Standard plan and above.

To start the export process, click the Export button in the top right of the Builder.

Code Export

The export process may take a few minutes to complete. Track progress of the export from the export dropdown.

You can export your app to a GitHub repository to continue development or collaborate with others. GitHub Export is available on the Pro plan and above.

Open the Publishing page, then select the GitHub Export option. Choose how Draftbit pushes to your repository:

  • GitHub App (recommended): connect the Draftbit GitHub App and pick the repository from a list. There’s no token to create.
  • Access token: enter the repository URL and a fine-grained personal access token.

Set the branch, and a subdirectory if you export into a monorepo, then click the Save Configuration button.

GitHub Export

To export, open the Export menu and click Commit next to the GitHub entry. The export process may take a few minutes to complete. Connecting to GitHub covers each step, the GitHub App’s limits, and troubleshooting.

FieldDescription
GitHub Repository URLAccess token only. The HTTPS URL of the GitHub repository to which the exported code will be pushed. With the GitHub App, you pick the repository from a list.
Example: https://github.com/username/repository
GitHub Branch NameThe branch within your repository where code will be exported.
Example: main or develop
Subdirectory (optional)Only for monorepos. Leave it empty for most repositories. A folder inside the repository to export into; each export replaces only this folder and leaves the rest of the branch untouched.
Example: apps/mobile
GitHub Access TokenAccess token only. A fine-grained personal access token with Contents: Read and write permission on the repository.
Create a token here.
For security, don’t share your token publicly.

Draftbit includes a tool to automatically create screenshots of your app. You can use this tool to create screenshots for your app’s App Store listing.

To open the App Store Screenshot Tool, click the Screenshot Tool button in the top toolbar of the Preview panel.

App Store Screenshots

Once you’ve built your app in Draftbit, you’re ready to share it with the world! Draftbit offers two approaches to publishing: One-Click Publishing for simplicity, and Manual Publishing for more control.

The easiest way to get your app published to the web, iOS, and Android. Draftbit handles the build and submission details automatically.

You can configure publish destinations by switching to the Publishing Configuration tab on the Publishing page.

Publish activity loads in pages, so long publishing histories stay responsive. Native simulator builds appear separately from web, iOS, and Android publish activity.

When a publish is already running, the publish button shows whether that platform is publishing or queued and prevents duplicate publishes to the same environment. You can still publish a different platform or environment in parallel when available.

If a publish cannot start, Draftbit shows an error and refreshes publishing activity. Attempts that fail after an activity entry is created appear as Failed, with a reason. Correct any configuration errors before retrying. A startup failure may have no build logs because the build never started.

When you build saved and unsaved simulators together, one may start while the other fails. The error identifies both outcomes. The started build continues; use the failed version’s build card to retry that version. If enabling sharing or updating its preview fails to start a build, your previous sharing settings and preview stay in place.

Publishing

App Store
iOS Publishing
Deploy to the Apple App Store effortlessly. We manage certificates, provisioning, and TestFlight distribution.
Google Play
Android Publishing
Publish to Google Play Store with a single click. We handle the build process, signing, and submission.
Web Publishing (PWA)
Launch your app as a progressive web app instantly. Share a link and your app works in any browser.

For developers who want full control over the publishing process. You’ll download your app’s source code and handle the deployment yourself.

App Store
iOS Publishing
Detailed instructions for building and submitting your iOS app to the Apple App Store.
Google Play
Android Publishing
Step-by-step guide to manually build and publish your Android app to Google Play Store.
Web Publishing (PWA)
Deploy your app as a progressive web app using your own hosting or deployment service.

Choose One-Click Publishing if:

  • You want the fastest, simplest way to publish
  • You’re new to app development
  • You don’t need custom deployment configurations

Choose Manual Publishing if:

  • You want full control over the build and deployment process
  • You have specific technical requirements
  • You want to integrate with your own CI/CD pipeline
  • You need to customize app signing or certificates

Ready to publish? Start with one-click publishing for the easiest experience, or dive into manual publishing if you need more control.