import Foundation /// Die beiden Zeichenketten, auf die sich App und Regal einigen müssen. /// /// An **einer** Stelle, weil ein Tippfehler hier nichts abstürzen lässt: das /// Regal bliebe einfach leer, oder ein Druck täte nichts, und beides sieht /// aus wie „geht halt nicht" statt wie ein Fehler. enum TopShelfIdentity { /// Muss mit `TopShelfWriter.group` und beiden Entitlement-Dateien /// übereinstimmen. static let group = "group.com.scarriffleservices.halo" /// Muss mit `CFBundleURLSchemes` in der Info.plist des Fernseh-Ziels /// übereinstimmen. static let scheme = "halo" static func playURL(for id: String) -> URL { URL(string: "\(scheme)://play/\(id)") ?? URL(string: "\(scheme)://")! } static func detailURL(for id: String) -> URL { URL(string: "\(scheme)://item/\(id)") ?? URL(string: "\(scheme)://")! } }