Skip to content

Add iOS Simulator support - #1433

Draft
sneurlax wants to merge 6 commits into
stagingfrom
feat/ios-simulator
Draft

sneurlax wants to merge 6 commits into
stagingfrom
feat/ios-simulator

Conversation

@sneurlax

@sneurlax sneurlax commented Aug 21, 2026 •

Copy link
Copy Markdown
Member

Adds experimental, opt-in Apple Silicon iOS simulator configuration while keeping normal device builds on staging's released dependencies.

Set STACK_IOS_SIMULATOR=1 when configuring the ios target. Stack Wallet enables the review-pinned Monero and Wownero simulator packages; Stack Duo enables only Monero. Other platforms and ordinary iOS configuration keep their released dependencies and the staging lockfile. The CocoaPods arm64 simulator architecture selection remains.

The earlier submodule/MWEB overrides and build instructions were partly superseded by Flutter Native Assets. Documentation now describes the current setup, opt-in usage, and its limits.

The six original prerequisite PRs are all closed without merging:

Prerequisite Current status
frostdart #26 Superseded by the native-assets migration (#27).
flutter_libepiccash #84 Closed as unnecessary after migration to native assets.
flutter_libmwc #10 Superseded by #11.
flutter_mwebd #1 Superseded by #2.
cs_monero #23 Closed, unmerged; experimental simulator override remains review-pinned.
cs_wownero #1 Closed, unmerged; experimental simulator override remains review-pinned.

Not release-ready: these simulator pins predate the current device-library ABI. The Monero pin lacks MONERO_Wallet_serializeCacheToJson, exported by the current device package. Stack does not currently call that symbol, but the mismatch still requires refreshed simulator libraries and macOS linking/wallet smoke tests. Linux configuration checks do not establish a working iOS simulator build.

Validation: 12 regression cases invoke the actual Wallet/Duo configure scripts and template/interface processors across default, disabled, enabled, and non-iOS scenarios. Scoped Dart analysis reports no issues; Bash syntax and Ruby Podfile syntax pass. pubspec.lock is identical to staging, obsolete crypto-plugin gitlinks remain removed, and git diff --check passes. Both remotes contain the same refreshed commit.

@sneurlax

Copy link
Copy Markdown
Member Author

This whole PR is being superceded by the alternative slate of native-assets migrations which make these changes unnecessary. gg

@sneurlax sneurlax closed this Sep 23, 2026
@julian-CStack

Copy link
Copy Markdown
Collaborator

a small portion of this may still be required. Will reopen just for reference

@julian-CStack julian-CStack reopened this Sep 23, 2026
Keep released device dependencies by default; scope legacy simulator review pins to explicit iOS configuration. Validate Wallet/Duo configuration across platforms and document native-assets and ABI limits.
@codecov

codecov Bot commented Nov 10, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 13.92%. Comparing base (9ce80be) to head (1c78abd).
⚠️ Report is 1 commits behind head on staging.

Additional details and impacted files
@@           Coverage Diff            @@
##           staging    #1433   +/-   ##
========================================
  Coverage    13.92%   13.92%           
========================================
  Files         1139     1139           
  Lines       114707   114707           
========================================
  Hits         15976    15976           
  Misses       98731    98731           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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.

2 participants