Skip to content

Install and open apps on the selected simulator - #15

Merged
eagleoflqj merged 1 commit into
mainfrom
install-catalog-apps
Nov 5, 2026
Merged

eagleoflqj merged 1 commit into
mainfrom
install-catalog-apps

Conversation

@eagleoflqj

Copy link
Copy Markdown
Member

Add Install buttons to Discover cards and app details. Cards install the recommended compatible version and disable installation when no compatible build is available. Details allow selecting another version, retaining the compatibility warning for older runtimes. Both entry points share progress, cancellation, and errors for the same app and simulator.

Downloads stream to temporary files. The archive must match the catalog's size and SHA-256 before extraction, and the extracted app must match its bundle ID/version and contain only arm64 iOS Simulator binaries. Successful installation removes the app from Discover and makes Open available in details. Operations remain bound to their original simulator UDID. Temporary files are cleaned on success, failure, or cancellation; cancellation is disabled once simctl starts installing.

Include English and Simplified Chinese strings, preserve action-button sizes across states, and document installation downloads in docs/cache.md.

Validation:

  • Release and Debug builds passed; all 15 Release tests and the Debug preview-scenario test passed. Strict Swift formatting, whitespace checks, and idempotent localization extraction passed.
  • Regression tests cover actual loopback HTTP progress/cancellation/errors, archive traversal attempts, checksum and binary validation, per-device jobs, cleanup, and inventory-query races.
  • Downloaded the real FreeOTP release and verified its size, SHA-256, app identity, and embedded binaries through the installation pipeline.
  • Native English and Chinese UI checks passed for list/detail actions, shared progress, cancellation, compatibility, verification errors, retry, installed filtering, and stable button sizes. Keyboard navigation reached all 16 cards and their install buttons with automatic scrolling. These UI checks used intercepted simulator commands.

Actual simctl installation and launch still need verification on a machine with Simulator runtimes; none are installed locally.

@eagleoflqj
eagleoflqj merged commit 2402025 into main Nov 5, 2026
2 checks passed
@eagleoflqj
eagleoflqj deleted the install-catalog-apps branch November 5, 2026 18:39
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.

1 participant