DioxusLabs/dioxus · error · anyhow::Error

iOS app bundle not found at {}. Ensure the iOS build complet

Error message

iOS app bundle not found at {}. Ensure the iOS build completed successfully.

What it means

bundle_ios_app expected an already-assembled .app bundle at the build's root directory but it does not exist. The iOS build pipeline should have produced it earlier; its absence means that stage failed or was skipped, so bundling bails.

Source

Thrown at packages/cli/src/bundler/ios.rs:18

use super::{Arch, Bundle, BundleContext, copy_dir_recursive, zip_dir_recursive};
use crate::PackageType;
use anyhow::{Context, Result, bail};
use std::path::{Path, PathBuf};
use tokio::process::Command;

pub(crate) struct IosBundled {
    pub ipa: Vec<PathBuf>,
    #[allow(dead_code)]
    pub app: Vec<PathBuf>,
}

impl BundleContext<'_> {
    /// Return the already-assembled iOS `.app` bundle produced by the build pipeline.
    pub(crate) async fn bundle_ios_app(&self) -> Result<Vec<PathBuf>> {
        let app_path = self.build.root_dir();
        if !app_path.exists() {
            bail!(
                "iOS app bundle not found at {}. Ensure the iOS build completed successfully.",
                app_path.display()
            );
        }

        Ok(vec![app_path])
    }

    /// Package a signed iOS `.app` into an App Store distributable `.ipa`.
    pub(crate) async fn bundle_ios_ipa(&self, bundles: &[Bundle]) -> Result<IosBundled> {
        validate_ios_ipa_target(&self.target(), self.binary_arch())?;

        let (app_paths, synthesized_app_paths) = if let Some(app_bundle) = bundles
            .iter()
            .find(|bundle| bundle.package_type == PackageType::IosApp)
        {
            (app_bundle.bundle_paths.clone(), Vec::new())
        } else {

View on GitHub (pinned to 24f6a829df)

Solutions

  1. The iOS .app bundle is missing. Run the iOS build first (dx build --platform ios) and make sure it completes successfully.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at packages/cli/src/bundler/ios.rs:18 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of DioxusLabs/dioxus@24f6a829df (2026-08-23). Data as JSON: /api/errors/b5739c57050332da. Report an issue: GitHub.