main
md 62 lines 1.85 KB
Rendered Raw
1 # tvOS App Store notes
2
3 ## Bundle identifier
4
5 The tvOS target uses the same bundle identifier as the iPhone app:
6
7 - `ai.splitfire.klepon`
8
9 That keeps the main Apple-platform app identity aligned across iPhone, Apple TV, Mac, and visionOS. The watch companion still uses its own watch bundle identifier, which Apple requires for the companion app target.
10
11 ## App shape
12
13 The current tvOS target is intentionally simple for v1.
14
15 - It is a focus-friendly SwiftUI app
16 - It uses tabs and navigation stacks
17 - It keeps the private guide inside the existing browse-first experience
18
19 This is deliberate. The goal is a clean, stable App Store MVP for Apple TV without overbuilding the first release.
20
21 ## Required configuration
22
23 The tvOS target uses:
24
25 - `KleponTV/Info.plist`
26 - `KleponTV/KleponTV.entitlements`
27
28 Important settings:
29
30 - `ITSAppUsesNonExemptEncryption = false`
31 - `com.apple.security.application-groups = group.com.ondeinference.apps`
32
33 `ITSAppUsesNonExemptEncryption` is an Info.plist declaration, not an entitlement. The App Group entitlement keeps local model storage aligned with the other Apple targets.
34
35 ## Build and archive
36
37 Generate the project:
38
39 ```/dev/null/sh#L1-1
40 xcodegen generate
41 ```
42
43 Build the tvOS target locally:
44
45 ```/dev/null/sh#L1-1
46 xcodebuild build -project Klepon.xcodeproj -scheme 'Klepon TV' -destination 'generic/platform=tvOS Simulator'
47 ```
48
49 Archive the tvOS target:
50
51 ```/dev/null/sh#L1-1
52 xcodebuild archive -project Klepon.xcodeproj -scheme 'Klepon TV' -destination 'generic/platform=tvOS' -archivePath build/KleponTV.xcarchive
53 ```
54
55 ## Submission checklist
56
57 Before upload, confirm:
58
59 - the signing profile is for `ai.splitfire.klepon`
60 - the App Group capability exists for the shipping team
61 - the app feels clean and navigable with the Siri Remote focus model
62 - tvOS screenshots and metadata are ready in `AppStore/screenshots/tvos/` and `AppStore/metadata-tvos/en-US/`