Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions docs/app-store-assets/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# App Store screenshots

These are the sanitized English (United Kingdom) screenshots for the Switchify Remote App Store listing.

- `iphone/`: five opaque 1242 by 2688 PNGs captured from iPhone 11 Pro Max.
- `ipad/`: five opaque 2048 by 2732 PNGs captured from iPad Pro 12.9-inch.
- Files are uploaded in filename order: pairing, Mouse, Typing, Window, and accessible Settings.

The source captures must come from a local iOS build made with `EXPO_PUBLIC_STORE_CAPTURE=1`. This exact build-time flag replaces the production root with a sanitized fixture using production UI components and `Demo PC`. It does not mount the connection provider, initialize Bluetooth, access pairing storage, or send commands. Normal, CI, and release builds must leave the flag unset.

The fixture cycles through pairing, Mouse, Typing, Window, and Settings every five seconds for deterministic simulator capture. A deep link to `switchify-remote://capture/<pair|mouse|typing|window|access>` can also select a screen during manual local capture. Then generate the branded outputs:

```text
npm run app-store:assets -- --iphone-source-dir <iphone-captures> --ipad-source-dir <ipad-captures>
```

Never include pairing codes, typed text, personal device names, credentials, diagnostics, notifications, or developer controls.
Binary file added docs/app-store-assets/ipad/01-pair.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/app-store-assets/ipad/02-mouse.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/app-store-assets/ipad/03-typing.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/app-store-assets/ipad/04-window.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/app-store-assets/ipad/05-access.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/app-store-assets/iphone/01-pair.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/app-store-assets/iphone/02-mouse.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/app-store-assets/iphone/03-typing.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/app-store-assets/iphone/04-window.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/app-store-assets/iphone/05-access.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/app-store-connect.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# App Store Connect and internal TestFlight

Switchify Remote uses App Store Connect only for internal TestFlight distribution in this milestone. External testers, beta review, public App Store metadata completion, pricing, screenshots, and App Review are separate work.
Switchify Remote uses App Store Connect for internal TestFlight distribution and a saved public-listing draft. The canonical listing values and draft-only guardrails are in [App Store listing](app-store-listing.md). External testers and App Review remain separate work.

## Apple records

Expand Down
82 changes: 82 additions & 0 deletions docs/app-store-listing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# App Store listing

This document is the source of truth for the English (United Kingdom) App Store listing. It authorizes saving a draft only. Do not select **Add for Review**, submit for App Review, or release the app.

## Product page

- Name: `Switchify Remote`
- Subtitle: `Accessible PC remote control`
- Promotional text: `Control your Windows PC or Mac from your iPhone or iPad with accessible mouse, typing and window controls over Bluetooth.`
- Keywords: `accessibility,remote control,mouse,keyboard,typing,Windows,Mac,Bluetooth,switch control`
- Primary category: Utilities
- Secondary category: Productivity
- Support URL: https://github.com/switchifyapp/switchify-remote/issues
- Marketing URL: https://switchifyapp.com
- Privacy policy: https://switchifyapp.com/privacy/remote
- Copyright: `2026 Enabo Apps`
- Price: Free
- Distribution: Public, worldwide, iPhone and iPad
- Apple silicon Mac availability: Off
- Apple Vision Pro availability: Off
- Release: Manual

### Description

```text
Switchify Remote lets you control a Windows PC or Mac from your iPhone or iPad over Bluetooth Low Energy. It is the companion app for Switchify PC.

Pair securely with your computer, then choose the controls you need:

• Mouse controls for pointer movement, clicks, dragging, scrolling, pointer speed and multiple monitors
• Typing controls for live text, drafts and common computer keys
• Window controls for switching apps, task view, desktop, minimize, maximize, close and shortcuts

Built for access:

• Works with VoiceOver, Voice Control and Switch Control
• Large touch targets and labels that scale without being cut off
• Light and dark themes, reduced-motion support, and phone and tablet layouts
• Clear selected, disabled, busy and connection states

Privacy and security:

• No account, ads, analytics or cloud sync
• Authenticated Bluetooth pairing with approval on the computer
• Pairing credentials are stored securely on your device
• Typed text and control commands go only to the paired computer
• Diagnostics stay on the device and exclude typed text, commands and pairing secrets

Requires Switchify PC on Windows 10 or later, or an Apple-silicon Mac running macOS 13 or later. Download Switchify PC from github.com/switchifyapp/switchify-pc/releases.
```

## Review information

- Sign-in required: No
- Contact: Owen McGirr, `owen@switchifyapp.com`
- Phone: entered by Owen directly at action time
- Attachment: None

Review notes:

```text
Switchify Remote has no account or login. It requires a Bluetooth Low Energy computer running Switchify PC: Windows 10 or later, or macOS 13 or later on Apple silicon. Download Switchify PC from https://github.com/switchifyapp/switchify-pc/releases and leave it open. On first run, continue to Connect with Bluetooth and choose Allow Bluetooth. Then select PCs > Find nearby PCs, choose the computer, compare the six-digit code, and approve the request in Switchify PC. Mouse, Typing and Window controls then become available.
```

Select the newest valid `1.0.0` build whose source is contained in `main` (build 19 for Beta 17 at the time this listing was prepared).

## Declarations

- Content rights: no third-party content requiring rights.
- Age rating: answer No to every content and capability question. Stop if Apple calculates a materially higher rating than its lowest general-audience result.
- App Privacy: the app collects no data. Publish that declaration only after action-time confirmation.
- Accessibility: VoiceOver, Voice Control, Larger Text, Dark Interface, Differentiate Without Color Alone, Sufficient Contrast, and Reduced Motion. Do not select Captions or Audio Descriptions because the app contains no media. Publish only after action-time confirmation.
- App Clip, Game Center, in-app purchases, subscriptions, and routing coverage: None.
- DSA: declare the whole developer account non-trader only after action-time confirmation. This affects every app on the account and may later be overridden per app.
- Leave the expired Paid Apps agreement untouched because this app is free.

## Chrome completion checklist

1. Upload the five iPhone and five iPad images from `docs/app-store-assets`, in filename order.
2. Complete and save product-page metadata, categories, build, review information, manual release, pricing, availability, content rights, age rating, privacy, accessibility, and DSA sections.
3. Before saving declarations, obtain confirmation for the account-wide non-trader status, public privacy/accessibility declarations, and transmission of Owen's review email and phone to Apple. Owen enters the phone directly.
4. Confirm the version remains **Prepare for Submission**. Never select **Add for Review**.
Loading