Ein Apple-TV-Target, und es zeigt schon etwas
Das leere Gerüst: eigene Wurzel FlixyTVApp, eigenes Target FlixyTV in project.yml, eigener Asset-Katalog. Es beweist Target, Icon, Signierung und Paketauflösung auf einen Schlag — bevor eine Zeile Logik daran hängt. **Das Icon von Hand gebaut.** Icon Composer deckt iOS, macOS und watchOS ab, tvOS nicht: der Fernseher verlangt gestapelte Bilder, damit die Parallaxe beim Wischen etwas zu bewegen hat. Zwei Ebenen aus derselben Marke — Verlauf hinten, Dreieck vorn —, dazu App-Store-Icon und beide Top-Shelf-Bilder. Ohne das breite lehnt App Store Connect den Upload mit 90513 ab. **Zwei Annahmen aus dem Plan haben sich beim Bauen erledigt.** PlexWebAuthenticator übersetzt nicht: ASWebAuthenticationSession steht zwar im tvOS-SDK, aber presentationContextProvider, cancel() und der Rest sind dort nicht verfügbar. Der Typ bleibt trotzdem stehen — als Attrappe, die sofort „ging nicht" meldet. Ihn herauszuschneiden hiesse, die Zustandsmaschine der Anmeldung für eine Plattform zu spalten, die diesen Zweig nie betritt. Dieselbe Bauform wie bei OrientationLock. NowPlaying wartet auf den Player in Schritt sieben. **Und eine Messung statt einer Vermutung.** Der Plan führte zwei offene Annahmen über den Sicherheitsrand. Der Simulator beantwortet beide: SwiftUI legt ihn von selbst an, und er misst sechzig oben und unten, achtzig seitlich — nicht neunzig. Nutzfläche 1760×960. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
6010229b80
commit
6326c8c24c
@@ -109,15 +109,20 @@ public enum FlixySpacing {
|
||||
///
|
||||
/// **Was das ist.** Ein Fernseher zeigt nicht zwingend das ganze Bild: je nach
|
||||
/// Gerät und Einstellung schneidet er am Rand ab, und was dort steht, sieht
|
||||
/// niemand. Apple nennt für 1920×1080 einen sicheren Bereich von neunzig
|
||||
/// Punkten seitlich und sechzig oben wie unten.
|
||||
/// niemand.
|
||||
///
|
||||
/// Ein **Bild** darf darüber hinausgehen — ein Aufmacher soll das sogar.
|
||||
/// Schrift und Knöpfe nicht. Die Zahl steht hier für die Fälle, in denen der
|
||||
/// Sicherheitsrand absichtlich übergangen wird und der Text trotzdem drinnen
|
||||
/// bleiben muss.
|
||||
/// **Nachgemessen, nicht abgeschrieben.** Im Simulator eines Apple TV 4K
|
||||
/// meldet SwiftUI bei 1920×1080 genau diese Ränder — sechzig oben und unten,
|
||||
/// **achtzig** seitlich, Nutzfläche also 1760×960. Die verbreitete Angabe
|
||||
/// „neunzig" stimmt nicht; eine zweite Quelle nannte achtzig und hatte recht.
|
||||
///
|
||||
/// **Und man bekommt sie geschenkt.** SwiftUI legt sie von selbst als
|
||||
/// Sicherheitsrand an — deshalb steht in `FlixySpacing.screenMargin` nur die
|
||||
/// Rinne innerhalb davon. Die Zahl hier ist für die Gegenrichtung: ein
|
||||
/// bildfüllender Aufmacher, der den Sicherheitsrand absichtlich übergeht und
|
||||
/// dessen Schrift trotzdem drinbleiben muss.
|
||||
public enum FlixySafeArea {
|
||||
public static let tv = EdgeInsets(top: 60, leading: 90, bottom: 60, trailing: 90)
|
||||
public static let tv = EdgeInsets(top: 60, leading: 80, bottom: 60, trailing: 80)
|
||||
}
|
||||
|
||||
public enum FlixyRadius {
|
||||
|
||||
Reference in New Issue
Block a user