Skip to content

fix(appium): harden local Flutter iOS runs after bootstrap - #54

Closed
abdulraqeeb33 wants to merge 1 commit into
mainfrom
fix/appium-local-flutter-bootstrap
Closed

fix(appium): harden local Flutter iOS runs after bootstrap#54
abdulraqeeb33 wants to merge 1 commit into
mainfrom
fix/appium-local-flutter-bootstrap

Conversation

@abdulraqeeb33

Copy link
Copy Markdown
Contributor

Summary

  • Auto-prepend ~/.vite-plus/bin in run-local preflight when vpx is installed but not on PATH yet (common right after bootstrap.sh in the same shell).
  • Before Flutter iOS builds, enable Swift Package Manager if needed and refresh the CocoaPods OneSignalXCFramework pin when Podfile.lock lags the onesignal_flutter podspec (e.g. 5.4.1 lock vs 5.5.0 podspec).

Why

Following the local Appium quick start (./bootstrap.sh then ./run-local.sh --platform=ios --sdk=flutter) hit two consecutive footguns:

  1. vpx not found — Vite+ installs successfully and creates the vpx symlink, but the current shell has not sourced ~/.vite-plus/env yet. Preflight failed even though tooling was installed.
  2. CocoaPods version conflict — Flutter demo Podfile.lock still pinned OneSignalXCFramework 5.4.1 while the plugin podspec required 5.5.0. Flutter’s “run pod repo update” message was misleading; the real fix is SPM (per our docs) plus syncing the extension CocoaPods pin.

These changes make run-local.sh recover from both without requiring a new shell or manual pod update / flutter config steps.

Test plan

  • From a shell where Vite+ is installed but ~/.vite-plus/bin is not on PATH, run ./run-local.sh --platform=ios --sdk=flutter and confirm preflight adds the shim dir instead of erroring
  • With Flutter SPM disabled and a stale Podfile.lock OneSignalXCFramework pin, confirm the script enables SPM, updates the pod, and proceeds past flutter build ios
  • Happy path: normal shell with SPM already enabled and matching lockfile still builds/runs as before

Made with Cursor

Auto-prepend Vite+ to PATH so vpx works in the same shell as bootstrap,
and sync Flutter SPM / OneSignalXCFramework pins before building iOS.

Co-authored-by: Cursor <cursoragent@cursor.com>
@abdulraqeeb33
abdulraqeeb33 requested a review from a team as a code owner August 3, 2026 14:33

@fadi-george fadi-george left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please delete and reclone flutter repo and see if this really needed.
At best ensure_flutter_swift_package_manager change is maybe useful.

@abdulraqeeb33
abdulraqeeb33 deleted the fix/appium-local-flutter-bootstrap branch August 4, 2026 14:44
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