mix dala.release (dala_dev v0.0.2)

Copy Markdown View Source

Builds a release-signed iOS .ipa ready to upload to App Store Connect.

mix dala.release

Output

_build/dala_release/<App>.ipa

Use mix dala.publish to upload it to TestFlight.

Prerequisites

  1. Apple Developer Program membership (paid, $99/yr)
  2. An "Apple Distribution" certificate in your keychain (Xcode → Settings → Accounts → Manage Certificates → +)
  3. An App Store provisioning profile for your bundle ID, downloaded to ~/Library/Developer/Xcode/UserData/Provisioning Profiles/. mix dala.provision --distribution automates the profile download.

What it does

  1. Resolves a distribution signing identity + App Store profile (auto-detect, or :ios_dist_sign_identity / :ios_dist_profile_uuid in dala.exs)
  2. Generates ios/release_device.sh and runs it:
    • Compiles BEAMs and copies them into the OTP runtime
    • Builds native sources with -DDALA_RELEASE so dala_beam.m drops EPMD + the distribution BEAM args
    • Links the iOS device binary, no EPMD object files
    • Signs the .app with the distribution identity (no get-task-allow)
    • Packages as Payload/<App>.app zipped into <App>.ipa

The shipped .ipa runs the full BEAM but with no Erlang distribution surface — Dala.Dist.ensure_started/1 no-ops at runtime when DALA_RELEASE=1.