Fixing Shorebird iOS export-options-plist issues in Workflow Editor

Last updated: December 17, 2025

When using Shorebird with the Flutter Workflow Editor, you may encounter issues where the --export-options-plist parameter doesn't work correctly, resulting in export failures with errors like:2

error: exportArchive "Runner.app" requires a provisioning profile with the Push Notifications feature.

Root Cause

Shorebird wraps flutter build ipa and relies on correct argument forwarding.

Only one -- separator is allowed to pass Flutter build arguments to Shorebird.
Using multiple -- separators causes Flutter arguments to be misparsed, which results in:

  • --export-options-plist parameter path parsed being ignored

  • Flutter falling back to a temporary ExportOptions.plist in $TMPDIR

  • Code signing/entitlement validation errors during IPA export

Solution

To resolve this issue, restructure your iOS build arguments in the Workflow Editor. Instead of:

--flavor staging -t lib/main_staging.dart -- --no-tree-shake-icons -- --build-name=1.0.$BUILD_NUMBER -- --build-number=$BUILD_NUMBER -- --verbose

Use this format:

--flavor staging -t lib/main_staging.dart --build-name=1.0.$BUILD_NUMBER --build-number=$BUILD_NUMBER --verbose -- --no-tree-shake-icons

The key changes are:

  • Use only one -- when separating Shorebird arguments from Flutter build arguments.

  • Move --build-name and --build-number before the -- separator

  • Keep --no-tree-shake-icons after the -- separator

  • Remove extra -- separators between arguments