{"record":{"id":"372b99fc0d1ebfeb","repo":"DioxusLabs/dioxus","slug":"ipa-packaging-requires-a-physical-device-ios-targe","errorCode":null,"errorMessage":"IPA packaging requires a physical-device iOS target. Resolved target was `{target}`.","messagePattern":"IPA packaging requires a physical-device iOS target\\. Resolved target was `(.+?)`\\.","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"packages/cli/src/bundler/ios.rs","lineNumber":97,"sourceCode":"\n        if output_path.exists() {\n            std::fs::remove_file(&output_path)?;\n        }\n        zip_dir_recursive(staging_dir.path(), &output_path)?;\n\n        tracing::info!(\"IPA created at {}\", output_path.display());\n\n        Ok(IosBundled {\n            ipa: vec![output_path],\n            app: synthesized_app_paths,\n        })\n    }\n}\n\nfn validate_ios_ipa_target(target: &str, arch: Arch) -> Result<()> {\n    let is_device = arch == Arch::AArch64 && !target.contains(\"sim\");\n    if !is_device {\n        bail!(\n            \"IPA packaging requires a physical-device iOS target. Resolved target was `{target}`.\"\n        );\n    }\n\n    Ok(())\n}\n\nasync fn verify_codesigned_app(app_path: &Path) -> Result<()> {\n    verify_codesigned_app_with(Path::new(\"codesign\"), app_path).await\n}\n\nasync fn verify_codesigned_app_with(codesign: &Path, app_path: &Path) -> Result<()> {\n    let output = Command::new(codesign)\n        .args([\"--verify\", \"--deep\", \"--strict\"])\n        .arg(app_path)\n        .output()\n        .await\n        .with_context(|| format!(\"Failed to run `{}`\", codesign.display()))?;","sourceCodeStart":79,"sourceCodeEnd":115,"githubUrl":"https://github.com/DioxusLabs/dioxus/blob/24f6a829df0dfa203961a98ea4cae21c2ff27e28/packages/cli/src/bundler/ios.rs#L79-L115","documentation":"validate_ios_ipa_target determined the current build does not target a physical iOS device: .ipa packaging requires the AArch64 device toolchain, but the resolved target contains a simulator triple (or the arch is not AArch64), so packaging bails.","triggerScenarios":"Thrown at packages/cli/src/bundler/ios.rs:97 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["IPA packaging needs a physical-device build. Build for a device target (aarch64-apple-ios), not a simulator target."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"24f6a829df0dfa203961a98ea4cae21c2ff27e28","analyzedAt":"2026-08-23T07:10:14.078Z","contentChangedAt":"2026-08-23T07:10:14.078Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}