chore(mobile): patch Flutter to allow building against iOS simulator (#30821)

* chore(mobile): patch Flutter to allow building against iOS simulator

* Fixed mise script path
This commit is contained in:
Adam Gastineau 2026-08-20 09:53:44 -07:00 committed by GitHub
parent f9f7311418
commit f88fb628ff
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 28 additions and 1 deletions

View file

@ -0,0 +1,24 @@
#!/usr/bin/env bash
# Makes Flutter not incorrectly append `-sdk` arguments to simulator builds
# This breaks macros that must build for the host's platform
#
# Flutter was informed of this (https://github.com/flutter/flutter/issues/146122) but has not fixed it in 2 years
set -eu
sdk="${MISE_TOOL_INSTALL_PATH:-$(mise where aqua:flutter/flutter)}/flutter"
mac_dart="$sdk/packages/flutter_tools/lib/src/ios/mac.dart"
pattern="buildCommands.addAll(<String>['-sdk', XcodeSdk.IPhoneSimulator.platformName]);"
# Filter out the sdk arg pattern
if awk -v pat="$pattern" 'index($0, pat) { found=1; next } { print } END { exit !found }' "$mac_dart" > "$mac_dart.tmp"; then
# If it was filtered out, apply it
mv "$mac_dart.tmp" "$mac_dart"
# Force flutter itself to rebuild
rm -f "$sdk/bin/cache/flutter_tools.snapshot" "$sdk/bin/cache/flutter_tools.stamp"
echo "flutter postinstall: removed simulator -sdk flag from xcodebuild invocation"
else
rm -f "$mac_dart.tmp"
fi

View file

@ -1,7 +1,10 @@
[tools]
"aqua:flutter/flutter" = "3.44.9"
java = "21.0.2"
[tools."aqua:flutter/flutter"]
version = "3.44.9"
postinstall = "bash {{config_root}}/ios/scripts/xcode_flutter_patch.sh"
[tools."github:CQLabs/homebrew-dcm"]
version = "1.37.0"
bin = "dcm"