Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
🟢 Approval recommended
The code, CI, and documentation changes are consistent with the stated iPad enablement goals and include explicit validation/release gating for the remaining physical-iPad Bluetooth verification.
Pull request overview
This PR expands Virtual Gears from iPhone-only to a universal iPhone+iPad app, adding iPad-specific layout bounding, orientation support (including upside-down portrait), CI coverage across representative iPhone/iPad simulators, and updating all major documentation/release surfaces to reflect the new device scope and the remaining physical-iPad validation gate.
Changes:
- Make the app + UI test targets universal and add iPad orientation support, with bounded ride controls for large displays.
- Add/extend UI tests for iPad orientation/layout and provide a deterministic “Done” keyboard-dismissal path for numeric entry.
- Update CI, App Store metadata docs, MkDocs site copy, and repository documentation to consistently reflect iPhone+iPad support and the physical iPad Bluetooth release gate.
File summaries
| File | Description |
|---|---|
VirtualGearsUITests/VirtualGearsUITests.swift |
Adds iPad orientation/layout regression coverage and validates the new explicit keyboard dismissal control in wheel-size UI. |
VirtualGearsProduct/VirtualGearsHomeView.swift |
Bounds shifting UI/control sizes for large iPad layouts to keep controls at deliberate, usable sizes. |
VirtualGearsProduct/SetupView.swift |
Adds a keyboard toolbar “Done” button using FocusState to explicitly dismiss the numeric keyboard. |
VirtualGearsProduct/Info.plist |
Declares iPad-supported orientations (including upside-down portrait). |
VirtualGears.xcodeproj/project.pbxproj |
Switches targeted device family to iPhone+iPad ("1,2") for universal support. |
README.md |
Updates product overview/requirements/screenshots section to include iPad and clarifies simulator vs physical validation. |
mkdocs.yml |
Updates site description copy to reflect iPhone+iPad support. |
docs/support.md |
Updates support language from “iPhone” to “Apple device” where applicable. |
docs/requirements.md |
Updates requirements and user-facing instructions to cover iPhone+iPad and documents the physical-iPad Bluetooth gate. |
docs/PRIVACY.md |
Updates “Last updated” date and changes wording from iPhone-only storage to device (iPhone/iPad). |
docs/index.md |
Updates landing page copy and adds iPad screenshot section and iPad layout explanation. |
docs/how-it-works.md |
Updates diagram caption/copy to reflect iPhone or iPad and iOS/iPadOS behavior. |
docs/DEMO_VIDEO.md |
Adds explicit instruction that a physical iPad recording/validation is required before universal upload. |
docs/APP_STORE.md |
Updates App Store metadata guidance for universal release, adds explicit “not uploaded yet” warning, and defines the physical iPad gate steps. |
docs/accessibility.md |
Updates accessibility documentation wording to cover both iPhone and iPad usage. |
DEVELOPMENT.md |
Updates dev prerequisites, adds iPad simulator UI-test instructions, and documents the physical iPad release gate. |
.github/workflows/ci.yml |
Runs UI tests across a destination matrix (iPhone 17 Pro, iPad mini, iPad Pro 13-inch) to cover iPad layouts in CI. |
.github/ISSUE_TEMPLATE/bug_report.yml |
Updates bug report template to request “Apple device and OS version” instead of iPhone-only. |
Review details
- Files reviewed: 18/24 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
added 6 commits
August 25, 2026 11:30
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 282ed3db-8004-44ab-ae8d-e474cd2210b8
Wait for simulators to finish booting before UI tests, and document the successful signed iPad install and launch alongside the remaining automation and Bluetooth release gates. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 282ed3db-8004-44ab-ae8d-e474cd2210b8
Use an explicit view-owned search task so physical CoreBluetooth candidate updates cannot discard the single-device selection deadline. Record the physical Click evidence and required iPad retest. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 282ed3db-8004-44ab-ae8d-e474cd2210b8
Inject the sole debug Click only after scanning begins and require the intermediate discovery state before automatic selection. Drive the absolute search deadline with a timer so candidate updates cannot cancel it. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 282ed3db-8004-44ab-ae8d-e474cd2210b8
Record the completed physical iPad Bluetooth gate, refresh release and App Store copy, make the compact demo fan test wait for the segmented control transition, and increment the universal TestFlight build. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 282ed3db-8004-44ab-ae8d-e474cd2210b8
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 282ed3db-8004-44ab-ae8d-e474cd2210b8
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Validation
swift test --enable-code-coveragePhysical evidence and release status
iPad14,10) running iPadOS 26.6.1InsidersTestFlight group