Overview
@zhz8888/dsh-ios-simulator-helper
README / EN
Package documentation
Registry summary
dsh.pub verifies the pinned bundle contract, runtime facts, and distribution semantics. The complete README remains in the source repository.
Read the full README on GitHubLIMITATIONS
Known limitations
- **macOS only.** On any other host `ios_preflight` fails the `Host OS (macOS)` check and skips the remaining probes instead of producing meaningless spawn failures; every tool that drives Apple tooling refuses, `ios_discover_project`, `ios_create_app` and `ios_ui_status` still answer, and the configuration page keeps the notice at the top. - `ios_ui_*` needs `idb`; `ios_ui_status` explains what is missing. `xcodebuildmcp` is only a reserved value (matching the original's `reservedBackends`) and is not implemented. - The original's `ios_build_and_run` always opened the Simulator window; here that is the `autoOpenSimulator` setting (on by default, so behaviour matches). `ios_build_app` and `ios_screenshot` still do not open windows, as in the original. The window app is Simulator.app on Xcode 25 and earlier and Device Hub on Xcode 26 and later; a window that cannot be opened is reported in the result (`opened: false` plus `openWarning`) and never fails the `simctl` steps. - `ios_logs` reads `log show` (no live stream), with a configurable and clamped window and length. - Swift macros (`@State`, `#Preview`) need `swift-plugin-server`, which cannot start its nested `sandbox-exec` when the caller is itself sandboxed. `ios_build_app` then retries the build once with `OTHER_SWIFT_FLAGS=-disable-sandbox` and reports `macroSandboxRetry: true`; a caller that was never sandboxed never sees a retry. - The generated project template is byte-for-byte the original's (an Xcode 14-compatible `project.pbxproj`, `objectVersion = 56`) and does not track newer Xcode templates. - **The configuration page has only been checked by eye in DSH Desktop**: the plugin is installed into the `desktop` profile, and the four shots in `assets/` are the latest manual pass, top to bottom. Dark theme, narrow-width wrapping and the non-macOS notice are still covered by the render tests, not by eye. - No credential handling: the plugin never reads or forwards key/token/secret environment variables.
