(tvOS,visionOS): Apple platforms MVP#4
Merged
Conversation
# Conflicts: # README.md
- 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.
There was a problem hiding this comment.
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.pbxprojentries withTARGETED_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 newkleponInteractiveButtonStyle()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.
Agent-Logs-Url: https://github.com/ondeinference/klepon/sessions/26b0e160-3e9e-4b1c-88b0-e70fbdb1c5e7 Co-authored-by: setoelkahfi <[email protected]>
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.
Add tvOS and visionOS.