IssueRaiser

Allow release mode builds to run on simulators

**Original issue**: Current documentation (https://github.com/flutter/flutter/wiki/Flutter%27s-modes) states that Flutter release mode builds cannot be run on the Simulator. For many applications, the iOS Simulators are sufficiently high fidelity to do 99% of development work without going through the additional friction of deploying to devices regularly. It's unfortunate that, unlike in native application development, you can't get an accurate understanding of your release mode behaviors with Flutter. **Merging #190883** by @jeffwall-curlewlabs: ### Use case *(Observed on Flutter 3.44.8, stable.)* I need to run `integration_test` against an **optimized** (AOT-compiled, tree-shaken) build of my app on the iOS Simulator, to catch release-only *correctness* regressions before they ship. Today that is impossible: the tool refuses both `--profile` and `--release` for any simulator, so debug/JIT is the only mode a simulator can run. **This is a platform-parity gap, not a new capability.** The same coverage already works on Android with no special setup: `flutter drive --profile` against an emulator produces an AOT, tree-shaken build - including an x86_64 `libapp.so` slice for the emulator - and runs the integration test against it. iOS has no equivalent at any optimization level, on any simulator. **The failure class this catches.** My app compiles a test-only sign-in path in behind a `bool.fromEnvironment` const, so in store builds that path is a dead branch the tree-sh

Posted by gavindoughtie on Aug 23, 2017, 5:18 PM

Tags

Related issues

Raise real-world problems, find people facing the same issue, and discuss solutions.4,500 issues0 comments

onboarding (SaaS)

Allow release mode builds to run on simulators

gavindoughtieAug 23, 2017, 5:18 PM

**Original issue**: Current documentation (https://github.com/flutter/flutter/wiki/Flutter%27s-modes) states that Flutter release mode builds cannot be run on the Simulator. For many applications, the iOS Simulators are sufficiently high fidelity to do 99% of development work without going through the additional friction of deploying to devices regularly. It's unfortunate that, unlike in native application development, you can't get an accurate understanding of your release mode behaviors with Flutter. **Merging #190883** by @jeffwall-curlewlabs: ### Use case *(Observed on Flutter 3.44.8, stable.)* I need to run `integration_test` against an **optimized** (AOT-compiled, tree-shaken) build of my app on the iOS Simulator, to catch release-only *correctness* regressions before they ship. Today that is impossible: the tool refuses both `--profile` and `--release` for any simulator, so debug/JIT is the only mode a simulator can run. **This is a platform-parity gap, not a new capability.** The same coverage already works on Android with no special setup: `flutter drive --profile` against an emulator produces an AOT, tree-shaken build - including an x86_64 `libapp.so` slice for the emulator - and runs the integration test against it. iOS has no equivalent at any optimization level, on any simulator. **The failure class this catches.** My app compiles a test-only sign-in path in behind a `bool.fromEnvironment` const, so in store builds that path is a dead branch the tree-sh

Comments (0)

No comments yet. Start the discussion.

Comment on this issue