Skip to content

Release 0.5.17: iOS sim deploy parity with device#17

Merged
GenericJam merged 1 commit into
masterfrom
ios-sim-deploy-parity
Jun 3, 2026
Merged

Release 0.5.17: iOS sim deploy parity with device#17
GenericJam merged 1 commit into
masterfrom
ios-sim-deploy-parity

Conversation

@GenericJam
Copy link
Copy Markdown
Owner

The iOS sim deploy was incomplete vs the device deploy, so a clean mix mob.deploy --native to a simulator crashed on boot even though the device worked. Three fixes:

  1. elixir/logger were staged only under lib/<app>/ebin, which the sim's mob_beam.m doesn't add to the code path → boot died at ensure_all_started(:elixir) ("elixir.app not found"). Now flattened into the flat BEAMS_DIR alongside eex (which already needed this).
  2. priv/ was only partially staged (repo/migrations) → Application.app_dir(:<app>, "priv/cacerts.pem") :enoent, crashing Mob.Certs.load_cacerts!. Now rsyncs the whole priv/ (matches the device release).
  3. Paths.sim_runtime_dir/0 fell back to /tmp/otp-ios-sim for zig-based projects (no ios/build.sh), but staging writes to ~/.mob/runtime/ios-sim — launcher and staging disagreed. Now recognizes ios/build.zig and returns the default runtime dir.

Verified: clean mob.deploy --native to an iPhone 11 Pro Max sim boots Io — Phoenix endpoint up, embedded Livebook home renders, no manual runtime fixups. 114 paths+native_build tests pass (incl. a new build.zig case).

🤖 Generated with Claude Code

…-native boots)

The sim deploy was incomplete vs the device path, so the sim crashed on boot:
- elixir/logger staged only under lib/<app>/ebin (not on the sim code path) →
  "elixir.app not found". Now flattened into BEAMS_DIR alongside eex.
- priv/ only partially staged (repo/migrations) → Mob.Certs.load_cacerts!
  :enoent on priv/cacerts.pem. Now rsyncs the whole priv/ (matches device).
- Paths.sim_runtime_dir/0 fell back to /tmp/otp-ios-sim for zig builds (no
  ios/build.sh) while staging wrote to ~/.mob/runtime/ios-sim. Now recognizes
  ios/build.zig and returns the default runtime dir.

Verified: clean mob.deploy --native to an iPhone 11 Pro Max sim boots Io,
Phoenix up, Livebook home renders — no manual fixups.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@GenericJam GenericJam merged commit 0b732b6 into master Jun 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant