Skip to content

(tvOS,visionOS): Apple platforms MVP#4

Merged
setoelkahfi merged 7 commits into
mainfrom
feature/apple-platforms-mvp
May 15, 2026
Merged

(tvOS,visionOS): Apple platforms MVP#4
setoelkahfi merged 7 commits into
mainfrom
feature/apple-platforms-mvp

Conversation

@setoelkahfi
Copy link
Copy Markdown
Collaborator

Add tvOS and visionOS.

- Add visionOS metadata, screenshots folder, and submission notes
- Update visionOS target to use main app bundle identifier
- Switch visionOS app icon to solidimagestack format
- Update release and TestFlight checklists for visionOS
- Remove old AppIconVision.appiconset assets
- Add English metadata and review notes for tvOS
- Add tvOS screenshots folder and README shot list
- Add tvOS App Store icon and top shelf assets
- Align tvOS bundle identifier with main app
- Update release and TestFlight checklists for tvOS
- Fix AskSheetView keyboard shortcut for tvOS
- Update docs for tvOS target and App Store submission
Explain that ITSAppUsesNonExemptEncryption is an Info.plist key, not an
entitlement, in App Store notes. Add checklist item for setting this
key.
Remove unused macOS app icon.
@setoelkahfi setoelkahfi self-assigned this May 15, 2026
@setoelkahfi setoelkahfi changed the title Apple platforms mvp Apple platforms MVP May 15, 2026
@setoelkahfi setoelkahfi changed the title Apple platforms MVP (tvOS,visionOS): Apple platforms MVP May 15, 2026
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a tvOS target ("Klepon TV") and a visionOS target ("Klepon Vision") to the project as a v1 MVP, reusing the shared SwiftUI sources from the iOS app. Changes wrap iOS-only APIs with platform conditionals so the shared codebase compiles on the new platforms, and adds the project plumbing (xcodegen entries, schemes, pbxproj sources/resources/frameworks, Info.plist + entitlements, asset catalogs, App Store metadata, and CI build jobs) needed to build, test, and submit them.

Changes:

  • New tvOS and visionOS application targets, schemes, Info.plists, entitlements, and AppIcon asset catalogs, plus matching project.yml/project.pbxproj entries with TARGETED_DEVICE_FAMILY/SDK/deployment-target settings.
  • Shared SwiftUI views guarded with #if os(tvOS) / #if os(visionOS) (toolbars, sheets, button styles, default window sizes, keyboard shortcuts, multi-line text input), with a new kleponInteractiveButtonStyle() helper and a Settings tab on tvOS instead of a modal.
  • AppStore metadata, screenshot folders, release/TestFlight checklist updates, README + CI workflow updates (new tvOS, visionOS, watchOS build jobs and a content-validation job).

Reviewed changes

Copilot reviewed 59 out of 76 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
README.md Documents new tvOS/visionOS support, build commands, and shared bundle id note.
project.yml Adds tvOS/visionOS deployment targets, schemes, and target definitions with build settings and post-build version script.
KleponTV/Info.plist, KleponTV/KleponTV.entitlements New tvOS Info.plist and App Group entitlement.
KleponVision/Info.plist, KleponVision/KleponVision.entitlements New visionOS Info.plist and App Group entitlement.
Klepon/App/PlatformViewSupport.swift Adds kleponInteractiveButtonStyle() and tvOS/visionOS branches for toolbar placement and onboarding presentation.
Klepon/App/AppRootView.swift Adds Settings tab on tvOS, gates the settings sheet, and extends visionOS frame sizing.
Klepon/App/KleponApp.swift Applies defaultSize for visionOS as well as macOS.
Klepon/Features/Ask/AskSheetView.swift tvOS-friendly TextField, gates keyboardShortcut(.cancelAction) to macOS, swaps to interactive button style.
Klepon/Features/Settings/SettingsView.swift Hides Done toolbar and dismiss on tvOS where Settings is a tab.
Klepon/Features/Discover/DiscoverView.swift, SavedView.swift, SearchView.swift, Detail/GuideDetailView.swift Replaces .buttonStyle(.plain) with kleponInteractiveButtonStyle() and gates Discover toolbar to non-tvOS.
Klepon/DesignSystem/KleponActionButton.swift Adopts the new interactive button style helper.
Klepon/Assets.xcassets/AppIconTV.brandassets/, AppIconVision.solidimagestack/ New tvOS brand asset and visionOS layered icon assets.
Klepon.xcodeproj/project.pbxproj Adds Klepon TV and Klepon Vision native targets, build phases, sources, resources, frameworks, configurations, and product references.
Klepon.xcodeproj/xcshareddata/xcschemes/Klepon TV.xcscheme, Klepon Vision.xcscheme New shared schemes for tvOS and visionOS targets.
AppStore/macos-appstore-notes.md Clarifies ITSAppUsesNonExemptEncryption is an Info.plist key.
AppStore/tvos-appstore-notes.md, visionos-appstore-notes.md New per-platform submission notes.
AppStore/metadata-tvos/en-US/, metadata-visionos/en-US/ New App Store copy (name, subtitle, description, keywords, promotional text, review notes).
AppStore/screenshots/{tvos,visionos}/.gitkeep, screenshots/README.md Reserves screenshot folders and adds shot list entries.
AppStore/release-checklist.md, testflight-checklist.md, AppStore/README.md Adds tvOS/visionOS rows to release/TestFlight checklists and metadata directory listings.
.github/workflows/ci.yml Adds content-validation, tvOS, visionOS, and watchOS build jobs.
.gitignore Ignores .worktrees/.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread project.yml
Copy link
Copy Markdown

@keypair34 keypair34 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@setoelkahfi setoelkahfi merged commit c93efb6 into main May 15, 2026
12 checks passed
@setoelkahfi setoelkahfi deleted the feature/apple-platforms-mvp branch May 15, 2026 12:30
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.

4 participants