mirror of
https://github.com/conorluddy/ios-simulator-skill.git
synced 2026-09-14 20:07:12 +08:00
6d518e61fc
* fix(xcode27): require idb-companion 1.5.1+ instead of shimming DEVELOPER_DIR Upstream fixed the Xcode 27 SimulatorKit path in idb-companion 1.5.1 (facebook/idb#953 and the equivalent that landed on main): it now prefers Contents/SharedFrameworks and falls back to the legacy path. That is the same thing our DEVELOPER_DIR shim faked from the outside, so the shim is deleted rather than maintained. Verified on Xcode 27 / iOS 27.0 with companion 1.5.7 and no shim: reads and HID writes both work, importing `common` no longer mutates DEVELOPER_DIR, and xcrun works from inside scripts that import it (the shim used to break every `xcrun simctl` call in the same process). The shim never shipped - it is on main but no tagged release contains it - so this breaks no released user. sim_health_check.sh now diagnoses the dependency instead: - idb CLI missing is a failure, not a warning; every tap/swipe/keystroke needs it - idb-companion is version-checked against a 1.5.1 floor, with the exact `brew tap facebook/fb` remediation (it is no longer in Homebrew core) - new check for the Xcode 27 framework layout and for stale companion entries in /tmp/idb/state, which wedge every later idb call with "Connection refused" - flags and offers to remove the obsolete shim directory - adds --json, the one script that was missing it despite SKILL.md's claim Refs #100, #101 * docs: document the real dependency floors and the Xcode 27 traps The Xcode 27 breakage shipped with no documentation at all, so the 1200+ star audience had nothing to find. Worse, the documented install was incomplete: README told users to install idb-companion but never the `idb` CLI, so anyone following it ended up with a companion and no CLI - and every navigator.py / gesture.py / keyboard.py call fails. README: - prerequisites become a table with real versions (macOS 15+, Xcode 26+, Python 3.12+, idb 1.5.1+) instead of "Python 3" and "IDB (optional)" - idb is stated as required for interactive scripts, installing BOTH the companion and the CLI from Meta's facebook/fb tap - calls out that `brew install idb-companion` no longer works at all, since idb-companion was dropped from Homebrew core - the instruction every fork, blog post and stale README still carries - new "Updating idb" and "Xcode 27 notes" sections: the 1.5.1 floor, the silent-tap symptom, no more Simulator.app (DeviceHub.app replaced it), and the dead-companion `idb disconnect` recovery SKILL.md (the file installed users actually get) gains matching requirements and an inline troubleshooting section, so the fix is reachable without the repo - references/ is not part of the distributed package. Also drops the link to examples/, which does not exist. references/troubleshooting.md leads with the Xcode 27 failure modes, and the pre-existing "IDB not connecting" entry now says its fix does not apply to them. Replaced `open -a Simulator` and `killall Simulator`, both dead on Xcode 27. Also corrected long-standing drift found while auditing: script count was 27 (README) / 21+ (DEV.md) / 22 (site) against an actual 29, and the macOS floor disagreed between docs.