MobDev.Release (mob_dev v0.3.37)

Copy Markdown View Source

Build a signed, App-Store-ready iOS .ipa for the current Mob project.

Mirrors MobDev.NativeBuild's physical-device build pipeline but signs with a distribution identity, embeds an App Store provisioning profile, drops EPMD + the distribution-related BEAM args (the MOB_RELEASE flag), and packages the .app as a .ipa instead of installing it.

Output path: _build/mob_release/<App>.ipa.

Required mob.exs keys

config :mob_dev,
  bundle_id:                "com.example.app",
  ios_team_id:              "ABC123XYZ4",
  # Distribution-only — falls back to auto-detect if absent:
  ios_dist_sign_identity:   "Apple Distribution: Your Name (ABC123XYZ4)",
  ios_dist_profile_uuid:    "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

Auto-detection looks for Apple Distribution: ... certificates in the keychain and picks the first matching App Store provisioning profile (one with no ProvisionedDevices and no ProvisionsAllDevices).

Summary

Functions

Build a signed .ipa for App Store / TestFlight distribution.

Functions

build_ipa(opts \\ [])

@spec build_ipa(keyword()) :: {:ok, String.t()} | {:error, String.t()}

Build a signed .ipa for App Store / TestFlight distribution.

Returns {:ok, ipa_path} or {:error, reason}.