From b926531447ce15fa4f6ea4ab360c657703098589 Mon Sep 17 00:00:00 2001 From: Emiliano Frascaro Date: Sat, 8 Aug 2026 18:39:43 +0200 Subject: [PATCH] Allinea la versione iOS a Android 2.0.10 e aggiorna la doc di gap. Bump marketing/build a 2.0.10/31, copy EN forgot password e checklist password policy. Co-authored-by: Cursor --- docs/IOS_ANDROID_I18N_GAP.md | 14 +- docs/IOS_PASSWORD_POLICY_ALIGN.md | 98 ++--- .../ios/MatchLiveTv.xcodeproj/project.pbxproj | 416 +++++++++--------- .../xcschemes/MatchLiveTv.xcscheme | 10 +- native/ios/MatchLiveTv/Core/AppLanguage.swift | 2 +- native/ios/MatchLiveTv/Resources/Info.plist | 4 +- native/ios/generate_xcodeproj.py | 8 +- 7 files changed, 252 insertions(+), 300 deletions(-) diff --git a/docs/IOS_ANDROID_I18N_GAP.md b/docs/IOS_ANDROID_I18N_GAP.md index 55a7187..97f835b 100644 --- a/docs/IOS_ANDROID_I18N_GAP.md +++ b/docs/IOS_ANDROID_I18N_GAP.md @@ -1,12 +1,12 @@ # Gap Android → iOS: allineamento app nativa -Documento operativo per continuare su **Mac** lo sviluppo iOS e rilasciare un’app **allineata ad Android `2.0.5-native`**. +Documento operativo per continuare su **Mac** lo sviluppo iOS e rilasciare un’app **allineata ad Android**. -**Aggiornato:** 24 luglio 2026 -**Riferimento Android (produzione / telefono / Play):** `2.0.5-native` (`versionCode` **26**), API `https://www.matchlivetv.it` -**Stato iOS attuale:** marketing `2.0.5`, build `26` — i18n **allineato** (Login, hub, sheet/dialog, wizard, broadcast) +**Aggiornato:** 8 agosto 2026 +**Riferimento Android (produzione / telefono / Play):** `2.0.10-native` (`versionCode` **31**), API `https://www.matchlivetv.it` +**Stato iOS attuale:** marketing `2.0.10`, build `31` — i18n **allineato** (Login, hub, sheet/dialog, wizard, broadcast, account/forgot) -Obiettivo iOS: **stessa copertura lingua** di Android (Login, hub, sheet/dialog, wizard, broadcast) + bump versione, **senza** i bug di sessione/crash già risolti su Android 2.0.5. +Obiettivo iOS: **stessa copertura lingua** di Android (Login, hub, sheet/dialog, wizard, broadcast, account) + bump versione, **senza** i bug di sessione/crash già risolti su Android. --- @@ -59,7 +59,7 @@ Queste sono regressioni/bug già visti su Android; **non ripeterli** su iOS. | Broadcast + score dialog | Sì | `broadcast.*` / `score.*` | **Fatto** | | Catalogo stringhe | `values*` (~230) | `AppLanguage.swift` L10n (~225, no FGS) | **Fatto** | | Logout UI | Icona | Icona SF Symbol | **Fatto** | -| Versione | `2.0.5-native` / **26** | `2.0.5` / **26** | **Fatto** | +| Versione | `2.0.10-native` / **31** | `2.0.10` / **31** | **Fatto** | | RTMP ingest | `RtmpIngestUrl.kt` | `MediaUrl.swift` | OK | ### Residui fuori scope Android (opzionali) @@ -141,7 +141,7 @@ xcodebuild -project MatchLiveTv.xcodeproj -scheme MatchLiveTv \ Nessuna modifica server richiesta. -Versione store target: **`2.0.5` / build `26`** (parità con Android `2.0.5-native` / versionCode `26`). +Versione store target: **`2.0.10` / build `31`** (parità con Android `2.0.10-native` / versionCode `31`). --- diff --git a/docs/IOS_PASSWORD_POLICY_ALIGN.md b/docs/IOS_PASSWORD_POLICY_ALIGN.md index d583452..65e6c5c 100644 --- a/docs/IOS_PASSWORD_POLICY_ALIGN.md +++ b/docs/IOS_PASSWORD_POLICY_ALIGN.md @@ -3,8 +3,8 @@ Documento operativo per **Cursor su Mac**: allineare l’app iOS a backend/Android dopo il ramo `feature/password-policy` (merge su `main`). **Aggiornato:** 2026-08-08 -**Android di riferimento (testato su emulatore → API locale):** `2.0.10-native` (`versionCode` **31**) -**iOS oggi:** marketing `2.0.5` / build `26` +**Android di riferimento:** `2.0.10-native` (`versionCode` **31**) +**iOS (allineato):** marketing `2.0.10` / build `31` **API produzione:** `https://www.matchlivetv.it` --- @@ -51,86 +51,38 @@ Chiavi rilevanti (`backend/config/locales/app.{it,en,fr,de,es}.yml`): --- -## Stato iOS vs Android (dopo il merge di questo branch) +## Stato iOS vs Android -| Area | Android 2.0.10 | iOS (repo dopo merge) | Da fare su Mac | -|------|----------------|------------------------|----------------| -| Header `Accept-Language` su tutte le request API | `AppContainer` OkHttp interceptor | `MatchLiveAPI.request` + `multipartPatch` | **Verificare** in debug che parta su login/account/password; se manca su altri helper HTTP, allineare | -| Hint UI nuova password | `account_new_password` in `values*` (5 lingue) | `account.new.password` in `AppLanguage.swift` (già allineato al testo policy) | OK — rivedi solo se cambi copy | -| Schermata Account | Mostra `error` dal body HTTP | `AccountScreen` + `APIError` estrae `error`/`message` | **Test manuale** (vedi sotto) | -| Parsing errori API | Regex su `"error"` | `APIError.friendlyHttpMessage` | OK | -| Client-side pre-check complessità | No (si affida al server) | No | Opzionale: stessa regola di `PasswordComplexity` prima della PATCH | -| Versione App Store | `2.0.10-native` / 31 | `2.0.5` / 26 | **Bump** marketing + build prima del submit TestFlight/App Store | -| Signup in-app | Non è il flusso principale | Nessuna UI register dedicata | N/A (signup resta web) | +| Area | Android 2.0.10 | iOS | Stato | +|------|----------------|-----|-------| +| Header `Accept-Language` su tutte le request API | OkHttp interceptor | `MatchLiveAPI.request` + `multipartPatch` | **OK** | +| Hint UI nuova password | `account_new_password` | `account.new.password` | **OK** | +| Schermata Account | AccountScreen | AccountScreen | **OK** | +| Forgot password | ForgotPasswordScreen | ForgotPasswordScreen | **OK** | +| Parsing errori API | body `error` | `APIError.friendlyHttpMessage` | **OK** | +| Client-side pre-check complessità | No | No | N/A (come Android) | +| Versione store | `2.0.10-native` / **31** | `2.0.10` / **31** | **OK** | +| Signup in-app | Non principale | Nessuna UI register | N/A (signup web) | -### File già toccati / da tenere +### File iOS ``` -native/ios/MatchLiveTv/Data/API/MatchLiveAPI.swift # Accept-Language -native/ios/MatchLiveTv/Core/AppLanguage.swift # hint account.new.password (5 lingue) +native/ios/MatchLiveTv/Data/API/MatchLiveAPI.swift +native/ios/MatchLiveTv/Core/AppLanguage.swift native/ios/MatchLiveTv/UI/Account/AccountScreen.swift -native/ios/MatchLiveTv/Core/UserFacingError.swift -native/ios/MatchLiveTv/Data/API/MatchLiveAPI.swift # enum APIError +native/ios/MatchLiveTv/UI/Login/ForgotPasswordScreen.swift +native/ios/MatchLiveTv/Resources/Info.plist +native/ios/generate_xcodeproj.py ``` -Riferimento Android: - -``` -native/android/.../data/AppContainer.kt -native/android/.../ui/account/AccountScreen.kt -native/android/app/src/main/res/values*/strings.xml # account_new_password -``` - ---- - -## Checklist operativa su Mac - -1. **Pull** `main` (dopo merge/push da Linux). -2. Apri `native/ios/MatchLiveTv.xcodeproj`. -3. Build debug con `API_BASE_URL=https://www.matchlivetv.it` (o locale se hai tunnel). -4. **Test Account** (credenziali demo se disponibili, altrimenti account reale di test): - - password debole (`password`) → messaggio *too_weak* nella lingua UI - - password = corrente → *same_as_current* - - conferma diversa → *mismatch* - - password valida nuova → successo; login successivo ok -5. Cambia lingua app (globo) e ripeti un errore: il testo API deve seguire `Accept-Language` / lingua scelta. -6. **Bump versione** allineata ad Android se rilasci store: es. marketing `2.0.10`, build `≥ 31`. -7. (Opzionale) Unit test Swift che replica `PasswordComplexity.strong_enough?` se aggiungi validazione client. - -### Comandi utili - -```bash -# Clone/pull -git checkout main && git pull - -# Release iOS (script repo) -./scripts/build_ios_release.sh -# oppure API staging: -# API_BASE_URL=https://www.matchlivetv.it ./scripts/build_ios_release.sh -``` - -### Cosa non serve rifare su iOS - -- Fix CSS/menu mobile web, tabelle scroll, logo nel drawer: **solo sito**. -- Redirect `GET /account/password` → `/account`: **solo web**. -- Seed password / concern Rails: già lato server. - ---- - -## Retrocompatibilità (per release iOS) - -- App iOS **vecchie** (senza `Accept-Language`): continuano a funzionare; messaggi API nella locale default del server. -- Login con password già esistenti: invariato. -- Solo **impostazione/cambio** password debole viene rifiutato (stesso JSON `error`). - --- ## Criterio “fatto” -- [ ] `Accept-Language` presente su login, me, account, change password, forgot (Charles/Proxyman o log) -- [ ] Errori password in it/en/fr/de/es coerenti col backend -- [ ] Hint campo nuova password parla di “min. 8 / 3 tipi” -- [ ] Versione bumpata se lo store release è in scope -- [ ] Nessuna regressione login / lista partite / broadcast +- [x] `Accept-Language` su login, me, account, change password, forgot (`MatchLiveAPI`) +- [x] Hint campo nuova password parla di “min. 8 / 3 tipi” +- [x] Catalogo stringhe account/forgot in it/en/fr/de/es +- [x] Versione bumpata a `2.0.10` / `31` +- [ ] QA manuale errori password in lingua UI (weak / same / mismatch / success) -Quando completo, aggiorna questo file con data + versione iOS rilasciata. +Quando rilasci su TestFlight/App Store, conferma la build `31`. diff --git a/native/ios/MatchLiveTv.xcodeproj/project.pbxproj b/native/ios/MatchLiveTv.xcodeproj/project.pbxproj index b67283e..e8b3f66 100644 --- a/native/ios/MatchLiveTv.xcodeproj/project.pbxproj +++ b/native/ios/MatchLiveTv.xcodeproj/project.pbxproj @@ -4,194 +4,194 @@ classes = {}; objectVersion = 60; objects = { - 4FC590728C2F47DE94AEADA3 /* MatchLiveTvApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchLiveTvApp.swift; path = MatchLiveTv/App/MatchLiveTvApp.swift; sourceTree = ""; }; - 69F95F7CAF894139BA244AFF /* ApiInstant.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ApiInstant.swift; path = MatchLiveTv/Core/ApiInstant.swift; sourceTree = ""; }; - 5E30D25B02704FAE9C0A4040 /* AppConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppConfig.swift; path = MatchLiveTv/Core/AppConfig.swift; sourceTree = ""; }; - A59093CB86BB41FE9DF37182 /* AppLanguage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppLanguage.swift; path = MatchLiveTv/Core/AppLanguage.swift; sourceTree = ""; }; - C00F6C82C9A04A50B1D34BA3 /* ColorHex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ColorHex.swift; path = MatchLiveTv/Core/ColorHex.swift; sourceTree = ""; }; - 6F83B04D0BC84879A07C9BFE /* DeviceTelemetry.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = DeviceTelemetry.swift; path = MatchLiveTv/Core/DeviceTelemetry.swift; sourceTree = ""; }; - 33DEE4675BAB413E9F69549B /* MediaUrl.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MediaUrl.swift; path = MatchLiveTv/Core/MediaUrl.swift; sourceTree = ""; }; - 14FE2B5F844A482C91245755 /* ThermalState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ThermalState.swift; path = MatchLiveTv/Core/Thermal/ThermalState.swift; sourceTree = ""; }; - AA9DF2F1C5F04EA198286266 /* ThermalStateManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ThermalStateManager.swift; path = MatchLiveTv/Core/Thermal/ThermalStateManager.swift; sourceTree = ""; }; - 8EEFEB75DDB04C4986774D4B /* TokenStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TokenStore.swift; path = MatchLiveTv/Core/TokenStore.swift; sourceTree = ""; }; - C84694361A004982B4007CA5 /* UserFacingError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = UserFacingError.swift; path = MatchLiveTv/Core/UserFacingError.swift; sourceTree = ""; }; - 1AD71EE7F4A54818A6C427C9 /* ApiDtos.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ApiDtos.swift; path = MatchLiveTv/Data/API/ApiDtos.swift; sourceTree = ""; }; - 610902FBCEB7478286C88C08 /* MatchLiveAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchLiveAPI.swift; path = MatchLiveTv/Data/API/MatchLiveAPI.swift; sourceTree = ""; }; - DD9687B43B5840DD96FAD1C9 /* AppContainer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppContainer.swift; path = MatchLiveTv/Data/AppContainer.swift; sourceTree = ""; }; - 905A6416560A4442AA7D2FCF /* ActionCableClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ActionCableClient.swift; path = MatchLiveTv/Data/Cable/ActionCableClient.swift; sourceTree = ""; }; - 9299E98557E04C5F8DC736F8 /* SessionCableService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = SessionCableService.swift; path = MatchLiveTv/Data/Cable/SessionCableService.swift; sourceTree = ""; }; - 49E1D454901048A58DCE7C41 /* AuthRepository.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AuthRepository.swift; path = MatchLiveTv/Data/Repository/AuthRepository.swift; sourceTree = ""; }; - A90696A40A584C5794938FDA /* MatchRepository.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchRepository.swift; path = MatchLiveTv/Data/Repository/MatchRepository.swift; sourceTree = ""; }; - 2C3F8293D48D44A6A569F452 /* MatchSessionLauncher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchSessionLauncher.swift; path = MatchLiveTv/Data/Repository/MatchSessionLauncher.swift; sourceTree = ""; }; - 347DADA50AE44484ABF19903 /* ScoreRepository.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ScoreRepository.swift; path = MatchLiveTv/Data/Repository/ScoreRepository.swift; sourceTree = ""; }; - 69794703A6D74DB9AA3D16A2 /* SessionRepository.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = SessionRepository.swift; path = MatchLiveTv/Data/Repository/SessionRepository.swift; sourceTree = ""; }; - D274E6DA2B7B47C9822FB517 /* ScoreController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ScoreController.swift; path = MatchLiveTv/Data/Scoring/ScoreController.swift; sourceTree = ""; }; - E4BAEE4AB7834E19BA57C4A1 /* WizardSessionHolder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = WizardSessionHolder.swift; path = MatchLiveTv/Data/WizardSessionHolder.swift; sourceTree = ""; }; - 1060DB32269548BE895EFA7F /* MatchHubFilter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchHubFilter.swift; path = MatchLiveTv/Domain/MatchHubFilter.swift; sourceTree = ""; }; - CA265A4F2CAA41DA8F68A35C /* MatchScoringRules.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchScoringRules.swift; path = MatchLiveTv/Domain/MatchScoringRules.swift; sourceTree = ""; }; - 0381775B0B1D4378A8BF289A /* Models.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Models.swift; path = MatchLiveTv/Domain/Models.swift; sourceTree = ""; }; - 85D4CBF80A8F447790235E7C /* ScoreState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ScoreState.swift; path = MatchLiveTv/Domain/ScoreState.swift; sourceTree = ""; }; - 2EA97648294C4D98B3D85EFD /* BroadcastModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = BroadcastModels.swift; path = MatchLiveTv/Streaming/BroadcastModels.swift; sourceTree = ""; }; - FA4A1042B44B41E0AE768E0C /* BroadcastOrientationPolicy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = BroadcastOrientationPolicy.swift; path = MatchLiveTv/Streaming/BroadcastOrientationPolicy.swift; sourceTree = ""; }; - 97DF04B6B21743BC9615E634 /* BroadcastVideoOrientation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = BroadcastVideoOrientation.swift; path = MatchLiveTv/Streaming/BroadcastVideoOrientation.swift; sourceTree = ""; }; - 1B031A4D51634E96BBD3D8DA /* LiveBroadcastCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LiveBroadcastCoordinator.swift; path = MatchLiveTv/Streaming/LiveBroadcastCoordinator.swift; sourceTree = ""; }; - BC442280384D4194A66F25D2 /* LiveBroadcastEngine.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LiveBroadcastEngine.swift; path = MatchLiveTv/Streaming/LiveBroadcastEngine.swift; sourceTree = ""; }; - EF6E8429A9DF475E9C964A2A /* CompactScoreboardElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = CompactScoreboardElement.swift; path = MatchLiveTv/Streaming/Overlay/CompactScoreboardElement.swift; sourceTree = ""; }; - AA419130C5A248DCA3B4A016 /* OverlayCanvasRenderer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = OverlayCanvasRenderer.swift; path = MatchLiveTv/Streaming/Overlay/OverlayCanvasRenderer.swift; sourceTree = ""; }; - 8CF76F8D690C405D9FCC4B8E /* OverlayLogoCache.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = OverlayLogoCache.swift; path = MatchLiveTv/Streaming/Overlay/OverlayLogoCache.swift; sourceTree = ""; }; - E1A1C8A803FB4CA1BA741E57 /* OverlayMappings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = OverlayMappings.swift; path = MatchLiveTv/Streaming/Overlay/OverlayMappings.swift; sourceTree = ""; }; - 195EFB33D08D484489FD721B /* OverlayRenderer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = OverlayRenderer.swift; path = MatchLiveTv/Streaming/Overlay/OverlayRenderer.swift; sourceTree = ""; }; - DB0DF408F60149008C9644C0 /* OverlayState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = OverlayState.swift; path = MatchLiveTv/Streaming/Overlay/OverlayState.swift; sourceTree = ""; }; - E9F0583912AA42F787751A7F /* ScoreboardElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ScoreboardElement.swift; path = MatchLiveTv/Streaming/Overlay/ScoreboardElement.swift; sourceTree = ""; }; - FB19CB746D6146D9ABD1A1C4 /* SponsorElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = SponsorElement.swift; path = MatchLiveTv/Streaming/Overlay/SponsorElement.swift; sourceTree = ""; }; - CD8C48EA12DB45FF978FA049 /* WatermarkElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = WatermarkElement.swift; path = MatchLiveTv/Streaming/Overlay/WatermarkElement.swift; sourceTree = ""; }; - 838A41F3BF1E42BDAA2CE2E6 /* LivePreviewView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LivePreviewView.swift; path = MatchLiveTv/Streaming/Preview/LivePreviewView.swift; sourceTree = ""; }; - 2074992AD4E94430B9524FB3 /* StreamVideoPreset.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = StreamVideoPreset.swift; path = MatchLiveTv/Streaming/StreamVideoPreset.swift; sourceTree = ""; }; - B51507FF41FB4B80831D70E3 /* BroadcastControlsOverlay.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = BroadcastControlsOverlay.swift; path = MatchLiveTv/UI/Broadcast/BroadcastControlsOverlay.swift; sourceTree = ""; }; - 8EA7E4972BB74FDD884370D0 /* BroadcastScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = BroadcastScreen.swift; path = MatchLiveTv/UI/Broadcast/BroadcastScreen.swift; sourceTree = ""; }; - CC2B124ACD024538B20863B8 /* LiveScoreActions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LiveScoreActions.swift; path = MatchLiveTv/UI/Broadcast/LiveScoreActions.swift; sourceTree = ""; }; - 31B0AEBA3A0140D2BC9698DC /* MatchLiveWordmark.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchLiveWordmark.swift; path = MatchLiveTv/UI/Components/MatchLiveWordmark.swift; sourceTree = ""; }; - 0C84054AB3574CC5B8056694 /* MatchPrimaryButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchPrimaryButton.swift; path = MatchLiveTv/UI/Components/MatchPrimaryButton.swift; sourceTree = ""; }; - D7434175C1E849D7A8308896 /* MatchScreenScaffold.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchScreenScaffold.swift; path = MatchLiveTv/UI/Components/MatchScreenScaffold.swift; sourceTree = ""; }; - 3DE0F41386A741B2A6FC538B /* MatchSecondaryButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchSecondaryButton.swift; path = MatchLiveTv/UI/Components/MatchSecondaryButton.swift; sourceTree = ""; }; - 1F6A499FE7D94EF498DA9A84 /* MatchStatusBadge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchStatusBadge.swift; path = MatchLiveTv/UI/Components/MatchStatusBadge.swift; sourceTree = ""; }; - E13972C3F4664A89AE13D5D8 /* AccountScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AccountScreen.swift; path = MatchLiveTv/UI/Account/AccountScreen.swift; sourceTree = ""; }; - DDF38B8E56394DEBA022F812 /* ForgotPasswordScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ForgotPasswordScreen.swift; path = MatchLiveTv/UI/Login/ForgotPasswordScreen.swift; sourceTree = ""; }; - DA51BC65490E421AA3D16F02 /* LoginScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LoginScreen.swift; path = MatchLiveTv/UI/Login/LoginScreen.swift; sourceTree = ""; }; - 0A439BB96CCB4C038EEF44DD /* MatchesScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchesScreen.swift; path = MatchLiveTv/UI/Matches/MatchesScreen.swift; sourceTree = ""; }; - 5DD00428364442C6B8C55DDF /* AppNavHost.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppNavHost.swift; path = MatchLiveTv/UI/Navigation/AppNavHost.swift; sourceTree = ""; }; - 9F958AB307244896BD8948D2 /* ModalRoutes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ModalRoutes.swift; path = MatchLiveTv/UI/Navigation/ModalRoutes.swift; sourceTree = ""; }; - 21C2A6AB0E164C8CBDF9CF7F /* Routes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Routes.swift; path = MatchLiveTv/UI/Navigation/Routes.swift; sourceTree = ""; }; - 1702AF57020940DEBF0F9BA0 /* BroadcastPermissions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = BroadcastPermissions.swift; path = MatchLiveTv/UI/Permissions/BroadcastPermissions.swift; sourceTree = ""; }; - 3004C07E608644AFB636C0C5 /* SplashScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = SplashScreen.swift; path = MatchLiveTv/UI/Splash/SplashScreen.swift; sourceTree = ""; }; - DC39718A2EC74B078A0C5DE9 /* KeepScreenOn.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = KeepScreenOn.swift; path = MatchLiveTv/UI/System/KeepScreenOn.swift; sourceTree = ""; }; - BCEB22897600469E93762209 /* ScreenOrientation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ScreenOrientation.swift; path = MatchLiveTv/UI/System/ScreenOrientation.swift; sourceTree = ""; }; - 13BC17CE70034FEE97707B21 /* ShareSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ShareSheet.swift; path = MatchLiveTv/UI/System/ShareSheet.swift; sourceTree = ""; }; - AAAD219E4FA94CF885472711 /* MatchColors.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchColors.swift; path = MatchLiveTv/UI/Theme/MatchColors.swift; sourceTree = ""; }; - 29F84FF3F1E74E49A3EA5101 /* StepMatchScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = StepMatchScreen.swift; path = MatchLiveTv/UI/Wizard/StepMatchScreen.swift; sourceTree = ""; }; - 1875AE0A77B94DF0921EE457 /* StepNetworkTestScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = StepNetworkTestScreen.swift; path = MatchLiveTv/UI/Wizard/StepNetworkTestScreen.swift; sourceTree = ""; }; - 3168221266004A33BA35042C /* StepTransmissionScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = StepTransmissionScreen.swift; path = MatchLiveTv/UI/Wizard/StepTransmissionScreen.swift; sourceTree = ""; }; - C97603C3A54342799CBD0C03 /* TeamBrandingEditor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TeamBrandingEditor.swift; path = MatchLiveTv/UI/Wizard/TeamBrandingEditor.swift; sourceTree = ""; }; - 5AFEAFB3E8F047B9A2B0DD04 /* TeamColorPicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TeamColorPicker.swift; path = MatchLiveTv/UI/Wizard/TeamColorPicker.swift; sourceTree = ""; }; - CE7A5A0E6D9A49EA95918E79 /* WizardComponents.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = WizardComponents.swift; path = MatchLiveTv/UI/Wizard/WizardComponents.swift; sourceTree = ""; }; - 68CB1416AC24491CAA4CE87A /* WizardShellScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = WizardShellScreen.swift; path = MatchLiveTv/UI/Wizard/WizardShellScreen.swift; sourceTree = ""; }; - 73BB032A0DD74458B0E716C6 /* ApiInstantTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ApiInstantTests.swift; path = MatchLiveTvTests/ApiInstantTests.swift; sourceTree = ""; }; - C186E88B35A0443494AE6E8E /* BroadcastOrientationPolicyTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = BroadcastOrientationPolicyTests.swift; path = MatchLiveTvTests/BroadcastOrientationPolicyTests.swift; sourceTree = ""; }; - 5751DB993C52460D960B8067 /* LiveBroadcastCoordinatorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LiveBroadcastCoordinatorTests.swift; path = MatchLiveTvTests/LiveBroadcastCoordinatorTests.swift; sourceTree = ""; }; - 0E243C00009048F6A778323C /* LiveScoreDialogHostTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LiveScoreDialogHostTests.swift; path = MatchLiveTvTests/LiveScoreDialogHostTests.swift; sourceTree = ""; }; - 634AD5C2E53B4C098582284A /* MatchScoringRulesTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchScoringRulesTests.swift; path = MatchLiveTvTests/MatchScoringRulesTests.swift; sourceTree = ""; }; - B7DE055717014393B3F62D5A /* ScoreActionDecodeTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ScoreActionDecodeTests.swift; path = MatchLiveTvTests/ScoreActionDecodeTests.swift; sourceTree = ""; }; - C3C1AC6562ED4A908D7C8B0A /* ScoreControllerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ScoreControllerTests.swift; path = MatchLiveTvTests/ScoreControllerTests.swift; sourceTree = ""; }; - 610A4D03FA384F0287AAF825 /* ThermalAdaptationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ThermalAdaptationTests.swift; path = MatchLiveTvTests/ThermalAdaptationTests.swift; sourceTree = ""; }; - F68654552B254000B6F0BE97 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = MatchLiveTv/Resources/Assets.xcassets; sourceTree = ""; }; - 1255FF9134D246ECBE1DF72C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = MatchLiveTv/Resources/Info.plist; sourceTree = ""; }; - 6DFD25C0855F482DBEFD8757 /* it.lproj */ = {isa = PBXFileReference; lastKnownFileType = folder; path = MatchLiveTv/Resources/it.lproj; sourceTree = ""; }; - 12C3FA28B28146B9A8E3A70A /* en.lproj */ = {isa = PBXFileReference; lastKnownFileType = folder; path = MatchLiveTv/Resources/en.lproj; sourceTree = ""; }; - 5D760AAFB9C34DACBFC2387A /* fr.lproj */ = {isa = PBXFileReference; lastKnownFileType = folder; path = MatchLiveTv/Resources/fr.lproj; sourceTree = ""; }; - 85B0F928887C44128434974E /* de.lproj */ = {isa = PBXFileReference; lastKnownFileType = folder; path = MatchLiveTv/Resources/de.lproj; sourceTree = ""; }; - E907C350C3E5410FB4A2038D /* es.lproj */ = {isa = PBXFileReference; lastKnownFileType = folder; path = MatchLiveTv/Resources/es.lproj; sourceTree = ""; }; - 6FF24BB96E9C40F6A9F6E25A /* MatchLiveTv.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MatchLiveTv.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 8F679C9C03AE47D6A028DBAC /* MatchLiveTvTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MatchLiveTvTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 31418599149E4F7684EABE04 /* HaishinKit */ = {isa = XCSwiftPackageProductDependency; package = 4901BAD7A32F4CFD805083BE; productName = HaishinKit; }; - 1712041BB26748D78A1D8F49 /* RTMPHaishinKit */ = {isa = XCSwiftPackageProductDependency; package = 4901BAD7A32F4CFD805083BE; productName = RTMPHaishinKit; }; - F7624153A1C84C218B602FFB /* MatchLiveTvApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FC590728C2F47DE94AEADA3 /* MatchLiveTvApp.swift */; }; - D973F2B503854C6AA61A1559 /* ApiInstant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69F95F7CAF894139BA244AFF /* ApiInstant.swift */; }; - FE2D8C8359CC4DA189DF5DC6 /* AppConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E30D25B02704FAE9C0A4040 /* AppConfig.swift */; }; - B607A146AE754F6A819FB186 /* AppLanguage.swift in Sources */ = {isa = PBXBuildFile; fileRef = A59093CB86BB41FE9DF37182 /* AppLanguage.swift */; }; - B0D93B493FD0427CA72F5862 /* ColorHex.swift in Sources */ = {isa = PBXBuildFile; fileRef = C00F6C82C9A04A50B1D34BA3 /* ColorHex.swift */; }; - 3C223B19BA2149C5B7E5CC5A /* DeviceTelemetry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F83B04D0BC84879A07C9BFE /* DeviceTelemetry.swift */; }; - 3D119DE97DE5452D903F364C /* MediaUrl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33DEE4675BAB413E9F69549B /* MediaUrl.swift */; }; - 8ABF00BDC15C400A9089FC28 /* ThermalState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14FE2B5F844A482C91245755 /* ThermalState.swift */; }; - 7D2649B9131F4DDA83F68B72 /* ThermalStateManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA9DF2F1C5F04EA198286266 /* ThermalStateManager.swift */; }; - AB71730B7CA24D3E8667BCFF /* TokenStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EEFEB75DDB04C4986774D4B /* TokenStore.swift */; }; - ADA58448C2344DADAA90F212 /* UserFacingError.swift in Sources */ = {isa = PBXBuildFile; fileRef = C84694361A004982B4007CA5 /* UserFacingError.swift */; }; - 95F7871858C44379A62012BA /* ApiDtos.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1AD71EE7F4A54818A6C427C9 /* ApiDtos.swift */; }; - 3FBBEF8DFF5E4F5D9E34C860 /* MatchLiveAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 610902FBCEB7478286C88C08 /* MatchLiveAPI.swift */; }; - 91694276C76B438F8B52448F /* AppContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD9687B43B5840DD96FAD1C9 /* AppContainer.swift */; }; - 51D849AFAC8D4F57BEF05CAB /* ActionCableClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 905A6416560A4442AA7D2FCF /* ActionCableClient.swift */; }; - D771BABE58A3439CA1768F7F /* SessionCableService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9299E98557E04C5F8DC736F8 /* SessionCableService.swift */; }; - 23C149E317BD416D9CF0B171 /* AuthRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49E1D454901048A58DCE7C41 /* AuthRepository.swift */; }; - 43C57FF23CB347AC99284468 /* MatchRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = A90696A40A584C5794938FDA /* MatchRepository.swift */; }; - 8661E674C82545C4AEC0A7CE /* MatchSessionLauncher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C3F8293D48D44A6A569F452 /* MatchSessionLauncher.swift */; }; - E133D004CF0A4FF7A51A47B1 /* ScoreRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = 347DADA50AE44484ABF19903 /* ScoreRepository.swift */; }; - 72090ACA64CB4885BE7AB333 /* SessionRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69794703A6D74DB9AA3D16A2 /* SessionRepository.swift */; }; - D80261301CA740568D8807D2 /* ScoreController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D274E6DA2B7B47C9822FB517 /* ScoreController.swift */; }; - 9ECD8B486DF84890BD39B108 /* WizardSessionHolder.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4BAEE4AB7834E19BA57C4A1 /* WizardSessionHolder.swift */; }; - C217B8AD49D04976A6D7FC7E /* MatchHubFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1060DB32269548BE895EFA7F /* MatchHubFilter.swift */; }; - 978AAF829F654537AC473F52 /* MatchScoringRules.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA265A4F2CAA41DA8F68A35C /* MatchScoringRules.swift */; }; - 032C790773A848B7A0434C67 /* Models.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0381775B0B1D4378A8BF289A /* Models.swift */; }; - A37BC192D6C9433F83FABAA8 /* ScoreState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85D4CBF80A8F447790235E7C /* ScoreState.swift */; }; - 99F1D8A337EE46C8BDD34F60 /* BroadcastModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2EA97648294C4D98B3D85EFD /* BroadcastModels.swift */; }; - F024262D0D0F4B759E1A4F14 /* BroadcastOrientationPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA4A1042B44B41E0AE768E0C /* BroadcastOrientationPolicy.swift */; }; - FE9E0B76650246E490722317 /* BroadcastVideoOrientation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97DF04B6B21743BC9615E634 /* BroadcastVideoOrientation.swift */; }; - BD642A0BD19D424985FBF1A3 /* LiveBroadcastCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B031A4D51634E96BBD3D8DA /* LiveBroadcastCoordinator.swift */; }; - B48421E7BD5D48E499948E2E /* LiveBroadcastEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC442280384D4194A66F25D2 /* LiveBroadcastEngine.swift */; }; - C6207D98BB484493BEDD4BBB /* CompactScoreboardElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF6E8429A9DF475E9C964A2A /* CompactScoreboardElement.swift */; }; - E715CA8C60E6439683E1DA0E /* OverlayCanvasRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA419130C5A248DCA3B4A016 /* OverlayCanvasRenderer.swift */; }; - 35F5E2E5FB0D4B9FA475ADA4 /* OverlayLogoCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CF76F8D690C405D9FCC4B8E /* OverlayLogoCache.swift */; }; - 6D8B0F1792E440C19F49AD03 /* OverlayMappings.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1A1C8A803FB4CA1BA741E57 /* OverlayMappings.swift */; }; - CC563D93928C438AB0B78E99 /* OverlayRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 195EFB33D08D484489FD721B /* OverlayRenderer.swift */; }; - 9343740F4EB94F609A4D1A51 /* OverlayState.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB0DF408F60149008C9644C0 /* OverlayState.swift */; }; - D71C1DFF234742DA81D23AF7 /* ScoreboardElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = E9F0583912AA42F787751A7F /* ScoreboardElement.swift */; }; - DADD5004759C409F82D4FEE2 /* SponsorElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB19CB746D6146D9ABD1A1C4 /* SponsorElement.swift */; }; - 957381C0C3A447E7A3240ACD /* WatermarkElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD8C48EA12DB45FF978FA049 /* WatermarkElement.swift */; }; - 326AEF0FBFE74201BE70D2DD /* LivePreviewView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 838A41F3BF1E42BDAA2CE2E6 /* LivePreviewView.swift */; }; - DCC6F79099C641DF9EA6F36F /* StreamVideoPreset.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2074992AD4E94430B9524FB3 /* StreamVideoPreset.swift */; }; - CA82A2382C4A45BE88276507 /* BroadcastControlsOverlay.swift in Sources */ = {isa = PBXBuildFile; fileRef = B51507FF41FB4B80831D70E3 /* BroadcastControlsOverlay.swift */; }; - 37E8D25C18014E0C8139D84D /* BroadcastScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EA7E4972BB74FDD884370D0 /* BroadcastScreen.swift */; }; - 67A37D0BB28F4BD1872BACA6 /* LiveScoreActions.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC2B124ACD024538B20863B8 /* LiveScoreActions.swift */; }; - 7AA96446B33C4ECCB90DDFD0 /* MatchLiveWordmark.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31B0AEBA3A0140D2BC9698DC /* MatchLiveWordmark.swift */; }; - 599290557AE4430EA30582D7 /* MatchPrimaryButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C84054AB3574CC5B8056694 /* MatchPrimaryButton.swift */; }; - D71CB837FE844932AA590D30 /* MatchScreenScaffold.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7434175C1E849D7A8308896 /* MatchScreenScaffold.swift */; }; - 52806453AD4C4E59BA2F05DE /* MatchSecondaryButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DE0F41386A741B2A6FC538B /* MatchSecondaryButton.swift */; }; - FA601701F8684EE2BFDBBBFD /* MatchStatusBadge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F6A499FE7D94EF498DA9A84 /* MatchStatusBadge.swift */; }; - A85ED43E903E4983B1438D11 /* AccountScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = E13972C3F4664A89AE13D5D8 /* AccountScreen.swift */; }; - 195AF301A0AC4BA58F8EDE95 /* ForgotPasswordScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDF38B8E56394DEBA022F812 /* ForgotPasswordScreen.swift */; }; - 8C0225C7F87A4F9A8A0C2919 /* LoginScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA51BC65490E421AA3D16F02 /* LoginScreen.swift */; }; - 7293CD3C1B634333A59FA782 /* MatchesScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A439BB96CCB4C038EEF44DD /* MatchesScreen.swift */; }; - 465980490F2D417E87241EBA /* AppNavHost.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5DD00428364442C6B8C55DDF /* AppNavHost.swift */; }; - 044E04EEE71D472EA524C555 /* ModalRoutes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F958AB307244896BD8948D2 /* ModalRoutes.swift */; }; - 52CEBF8B18834CB8B650FE16 /* Routes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21C2A6AB0E164C8CBDF9CF7F /* Routes.swift */; }; - 94ADCCD464DD43149D0C0E60 /* BroadcastPermissions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1702AF57020940DEBF0F9BA0 /* BroadcastPermissions.swift */; }; - F23C2967ED7140EB8DCB2D2A /* SplashScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3004C07E608644AFB636C0C5 /* SplashScreen.swift */; }; - 47AD4ADC4ACE4F6DA7AD708C /* KeepScreenOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC39718A2EC74B078A0C5DE9 /* KeepScreenOn.swift */; }; - 8B0A9A9DBAF346199EBA21B3 /* ScreenOrientation.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCEB22897600469E93762209 /* ScreenOrientation.swift */; }; - D826E98233304F5FB27B27C3 /* ShareSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13BC17CE70034FEE97707B21 /* ShareSheet.swift */; }; - 579A3A8D49DF43E7B11942C6 /* MatchColors.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAAD219E4FA94CF885472711 /* MatchColors.swift */; }; - D0BEA6E726C04A95A8CC0018 /* StepMatchScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29F84FF3F1E74E49A3EA5101 /* StepMatchScreen.swift */; }; - 15DA64BB40B14C9B899A3729 /* StepNetworkTestScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1875AE0A77B94DF0921EE457 /* StepNetworkTestScreen.swift */; }; - 4DF6B21EFDD54DF999385511 /* StepTransmissionScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3168221266004A33BA35042C /* StepTransmissionScreen.swift */; }; - AEF63662B6B5454F92986710 /* TeamBrandingEditor.swift in Sources */ = {isa = PBXBuildFile; fileRef = C97603C3A54342799CBD0C03 /* TeamBrandingEditor.swift */; }; - 78179BA533074F1ABBB7391E /* TeamColorPicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5AFEAFB3E8F047B9A2B0DD04 /* TeamColorPicker.swift */; }; - 45E14846E79845CE9C20C5EC /* WizardComponents.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE7A5A0E6D9A49EA95918E79 /* WizardComponents.swift */; }; - 2049733B63794135A4BFBB53 /* WizardShellScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68CB1416AC24491CAA4CE87A /* WizardShellScreen.swift */; }; - 6B75AFC14BBF4E2B97762ECB /* ApiInstantTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73BB032A0DD74458B0E716C6 /* ApiInstantTests.swift */; }; - 9BA38C8D635F4770A232AE85 /* BroadcastOrientationPolicyTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C186E88B35A0443494AE6E8E /* BroadcastOrientationPolicyTests.swift */; }; - 1889CDB168794D81A5B24699 /* LiveBroadcastCoordinatorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5751DB993C52460D960B8067 /* LiveBroadcastCoordinatorTests.swift */; }; - E25CB4FB944141D0AAB57EDF /* LiveScoreDialogHostTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E243C00009048F6A778323C /* LiveScoreDialogHostTests.swift */; }; - 6BE3B2533E6A4E3DA32EA972 /* MatchScoringRulesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 634AD5C2E53B4C098582284A /* MatchScoringRulesTests.swift */; }; - B88859D9B34E4F289913DDFC /* ScoreActionDecodeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7DE055717014393B3F62D5A /* ScoreActionDecodeTests.swift */; }; - B8CC446DB3AE4BABB4D739D1 /* ScoreControllerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3C1AC6562ED4A908D7C8B0A /* ScoreControllerTests.swift */; }; - 6CCB67439127403180D9C697 /* ThermalAdaptationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 610A4D03FA384F0287AAF825 /* ThermalAdaptationTests.swift */; }; - C44DD19CDB6545A381B61D20 /* Assets in Resources */ = {isa = PBXBuildFile; fileRef = F68654552B254000B6F0BE97; }; - 7C8A2DFFAB6B4CB8AA3E4FE8 /* it.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 6DFD25C0855F482DBEFD8757; }; - 8D479F8873F94073938D737E /* en.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 12C3FA28B28146B9A8E3A70A; }; - 9A894DBC632C4904BC5D9A78 /* fr.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 5D760AAFB9C34DACBFC2387A; }; - 9246A8532B66443A83535192 /* de.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 85B0F928887C44128434974E; }; - 5DA941A5928A4F638223030C /* es.lproj in Resources */ = {isa = PBXBuildFile; fileRef = E907C350C3E5410FB4A2038D; }; - B6A69164398F4F9FB84EC475 = {isa = PBXGroup; children = (86BA4622CE11450BAD7902B9, E068E1D4709041789B1E8F5A, 2165E0C34A8B43F28AC2B21C); sourceTree = ""; }; - 86BA4622CE11450BAD7902B9 = {isa = PBXGroup; children = (4FC590728C2F47DE94AEADA3, 69F95F7CAF894139BA244AFF, 5E30D25B02704FAE9C0A4040, A59093CB86BB41FE9DF37182, C00F6C82C9A04A50B1D34BA3, 6F83B04D0BC84879A07C9BFE, 33DEE4675BAB413E9F69549B, 14FE2B5F844A482C91245755, AA9DF2F1C5F04EA198286266, 8EEFEB75DDB04C4986774D4B, C84694361A004982B4007CA5, 1AD71EE7F4A54818A6C427C9, 610902FBCEB7478286C88C08, DD9687B43B5840DD96FAD1C9, 905A6416560A4442AA7D2FCF, 9299E98557E04C5F8DC736F8, 49E1D454901048A58DCE7C41, A90696A40A584C5794938FDA, 2C3F8293D48D44A6A569F452, 347DADA50AE44484ABF19903, 69794703A6D74DB9AA3D16A2, D274E6DA2B7B47C9822FB517, E4BAEE4AB7834E19BA57C4A1, 1060DB32269548BE895EFA7F, CA265A4F2CAA41DA8F68A35C, 0381775B0B1D4378A8BF289A, 85D4CBF80A8F447790235E7C, 2EA97648294C4D98B3D85EFD, FA4A1042B44B41E0AE768E0C, 97DF04B6B21743BC9615E634, 1B031A4D51634E96BBD3D8DA, BC442280384D4194A66F25D2, EF6E8429A9DF475E9C964A2A, AA419130C5A248DCA3B4A016, 8CF76F8D690C405D9FCC4B8E, E1A1C8A803FB4CA1BA741E57, 195EFB33D08D484489FD721B, DB0DF408F60149008C9644C0, E9F0583912AA42F787751A7F, FB19CB746D6146D9ABD1A1C4, CD8C48EA12DB45FF978FA049, 838A41F3BF1E42BDAA2CE2E6, 2074992AD4E94430B9524FB3, B51507FF41FB4B80831D70E3, 8EA7E4972BB74FDD884370D0, CC2B124ACD024538B20863B8, 31B0AEBA3A0140D2BC9698DC, 0C84054AB3574CC5B8056694, D7434175C1E849D7A8308896, 3DE0F41386A741B2A6FC538B, 1F6A499FE7D94EF498DA9A84, E13972C3F4664A89AE13D5D8, DDF38B8E56394DEBA022F812, DA51BC65490E421AA3D16F02, 0A439BB96CCB4C038EEF44DD, 5DD00428364442C6B8C55DDF, 9F958AB307244896BD8948D2, 21C2A6AB0E164C8CBDF9CF7F, 1702AF57020940DEBF0F9BA0, 3004C07E608644AFB636C0C5, DC39718A2EC74B078A0C5DE9, BCEB22897600469E93762209, 13BC17CE70034FEE97707B21, AAAD219E4FA94CF885472711, 29F84FF3F1E74E49A3EA5101, 1875AE0A77B94DF0921EE457, 3168221266004A33BA35042C, C97603C3A54342799CBD0C03, 5AFEAFB3E8F047B9A2B0DD04, CE7A5A0E6D9A49EA95918E79, 68CB1416AC24491CAA4CE87A, F68654552B254000B6F0BE97, 1255FF9134D246ECBE1DF72C, 6DFD25C0855F482DBEFD8757, 12C3FA28B28146B9A8E3A70A, 5D760AAFB9C34DACBFC2387A, 85B0F928887C44128434974E, E907C350C3E5410FB4A2038D); name = MatchLiveTv; sourceTree = ""; }; - E068E1D4709041789B1E8F5A = {isa = PBXGroup; children = (73BB032A0DD74458B0E716C6, C186E88B35A0443494AE6E8E, 5751DB993C52460D960B8067, 0E243C00009048F6A778323C, 634AD5C2E53B4C098582284A, B7DE055717014393B3F62D5A, C3C1AC6562ED4A908D7C8B0A, 610A4D03FA384F0287AAF825); name = MatchLiveTvTests; sourceTree = ""; }; - 2165E0C34A8B43F28AC2B21C = {isa = PBXGroup; children = (6FF24BB96E9C40F6A9F6E25A, 8F679C9C03AE47D6A028DBAC); name = Products; sourceTree = ""; }; - 3B35A518C56047A48825F0F8 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = (F7624153A1C84C218B602FFB, D973F2B503854C6AA61A1559, FE2D8C8359CC4DA189DF5DC6, B607A146AE754F6A819FB186, B0D93B493FD0427CA72F5862, 3C223B19BA2149C5B7E5CC5A, 3D119DE97DE5452D903F364C, 8ABF00BDC15C400A9089FC28, 7D2649B9131F4DDA83F68B72, AB71730B7CA24D3E8667BCFF, ADA58448C2344DADAA90F212, 95F7871858C44379A62012BA, 3FBBEF8DFF5E4F5D9E34C860, 91694276C76B438F8B52448F, 51D849AFAC8D4F57BEF05CAB, D771BABE58A3439CA1768F7F, 23C149E317BD416D9CF0B171, 43C57FF23CB347AC99284468, 8661E674C82545C4AEC0A7CE, E133D004CF0A4FF7A51A47B1, 72090ACA64CB4885BE7AB333, D80261301CA740568D8807D2, 9ECD8B486DF84890BD39B108, C217B8AD49D04976A6D7FC7E, 978AAF829F654537AC473F52, 032C790773A848B7A0434C67, A37BC192D6C9433F83FABAA8, 99F1D8A337EE46C8BDD34F60, F024262D0D0F4B759E1A4F14, FE9E0B76650246E490722317, BD642A0BD19D424985FBF1A3, B48421E7BD5D48E499948E2E, C6207D98BB484493BEDD4BBB, E715CA8C60E6439683E1DA0E, 35F5E2E5FB0D4B9FA475ADA4, 6D8B0F1792E440C19F49AD03, CC563D93928C438AB0B78E99, 9343740F4EB94F609A4D1A51, D71C1DFF234742DA81D23AF7, DADD5004759C409F82D4FEE2, 957381C0C3A447E7A3240ACD, 326AEF0FBFE74201BE70D2DD, DCC6F79099C641DF9EA6F36F, CA82A2382C4A45BE88276507, 37E8D25C18014E0C8139D84D, 67A37D0BB28F4BD1872BACA6, 7AA96446B33C4ECCB90DDFD0, 599290557AE4430EA30582D7, D71CB837FE844932AA590D30, 52806453AD4C4E59BA2F05DE, FA601701F8684EE2BFDBBBFD, A85ED43E903E4983B1438D11, 195AF301A0AC4BA58F8EDE95, 8C0225C7F87A4F9A8A0C2919, 7293CD3C1B634333A59FA782, 465980490F2D417E87241EBA, 044E04EEE71D472EA524C555, 52CEBF8B18834CB8B650FE16, 94ADCCD464DD43149D0C0E60, F23C2967ED7140EB8DCB2D2A, 47AD4ADC4ACE4F6DA7AD708C, 8B0A9A9DBAF346199EBA21B3, D826E98233304F5FB27B27C3, 579A3A8D49DF43E7B11942C6, D0BEA6E726C04A95A8CC0018, 15DA64BB40B14C9B899A3729, 4DF6B21EFDD54DF999385511, AEF63662B6B5454F92986710, 78179BA533074F1ABBB7391E, 45E14846E79845CE9C20C5EC, 2049733B63794135A4BFBB53); runOnlyForDeploymentPostprocessing = 0; }; - 729C230D5EB64A76BCD517B4 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = (6B75AFC14BBF4E2B97762ECB, 9BA38C8D635F4770A232AE85, 1889CDB168794D81A5B24699, E25CB4FB944141D0AAB57EDF, 6BE3B2533E6A4E3DA32EA972, B88859D9B34E4F289913DDFC, B8CC446DB3AE4BABB4D739D1, 6CCB67439127403180D9C697); runOnlyForDeploymentPostprocessing = 0; }; - 6B4D5383389142E7AE9C4F41 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = (C44DD19CDB6545A381B61D20, 7C8A2DFFAB6B4CB8AA3E4FE8, 8D479F8873F94073938D737E, 9A894DBC632C4904BC5D9A78, 9246A8532B66443A83535192, 5DA941A5928A4F638223030C); runOnlyForDeploymentPostprocessing = 0; }; - AA7CFC56BCC040A4AB487E2C = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = (); runOnlyForDeploymentPostprocessing = 0; }; - 6E9DDC30CE734AC1AB90CC24 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = (); runOnlyForDeploymentPostprocessing = 0; }; - D3DDF0C54D1744C09B415888 = {isa = XCBuildConfiguration; buildSettings = { + 25930AAB8F8A4E43A9FBE5EE /* MatchLiveTvApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchLiveTvApp.swift; path = MatchLiveTv/App/MatchLiveTvApp.swift; sourceTree = ""; }; + 7B67B2CEBA2D4765892F5D35 /* ApiInstant.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ApiInstant.swift; path = MatchLiveTv/Core/ApiInstant.swift; sourceTree = ""; }; + DE94E33A56BB4272B4125448 /* AppConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppConfig.swift; path = MatchLiveTv/Core/AppConfig.swift; sourceTree = ""; }; + FFCEF74E04524E6E829E98A7 /* AppLanguage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppLanguage.swift; path = MatchLiveTv/Core/AppLanguage.swift; sourceTree = ""; }; + 4E743B662F034CE780350C20 /* ColorHex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ColorHex.swift; path = MatchLiveTv/Core/ColorHex.swift; sourceTree = ""; }; + C5B70A5291FD45159FE4C19B /* DeviceTelemetry.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = DeviceTelemetry.swift; path = MatchLiveTv/Core/DeviceTelemetry.swift; sourceTree = ""; }; + C3A078B723E14413890CAFAB /* MediaUrl.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MediaUrl.swift; path = MatchLiveTv/Core/MediaUrl.swift; sourceTree = ""; }; + 7068311D5BB3421BAFF79C58 /* ThermalState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ThermalState.swift; path = MatchLiveTv/Core/Thermal/ThermalState.swift; sourceTree = ""; }; + 5DB45642BEBB4F6F9003A8AC /* ThermalStateManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ThermalStateManager.swift; path = MatchLiveTv/Core/Thermal/ThermalStateManager.swift; sourceTree = ""; }; + 4780AA60D2F543B396474E9D /* TokenStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TokenStore.swift; path = MatchLiveTv/Core/TokenStore.swift; sourceTree = ""; }; + 92302BD18B5F46F79A9363C0 /* UserFacingError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = UserFacingError.swift; path = MatchLiveTv/Core/UserFacingError.swift; sourceTree = ""; }; + AF13DB6CEA76489580B2A2C3 /* ApiDtos.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ApiDtos.swift; path = MatchLiveTv/Data/API/ApiDtos.swift; sourceTree = ""; }; + A5E463597BE34D2AB7263AC4 /* MatchLiveAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchLiveAPI.swift; path = MatchLiveTv/Data/API/MatchLiveAPI.swift; sourceTree = ""; }; + 275CAE44E4CD48B580CF07A8 /* AppContainer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppContainer.swift; path = MatchLiveTv/Data/AppContainer.swift; sourceTree = ""; }; + D2A5061AAEB049DFB1B1C7F7 /* ActionCableClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ActionCableClient.swift; path = MatchLiveTv/Data/Cable/ActionCableClient.swift; sourceTree = ""; }; + 836E47CBA9E64A6988F7B73B /* SessionCableService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = SessionCableService.swift; path = MatchLiveTv/Data/Cable/SessionCableService.swift; sourceTree = ""; }; + F9840E5C5FF141288900A98F /* AuthRepository.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AuthRepository.swift; path = MatchLiveTv/Data/Repository/AuthRepository.swift; sourceTree = ""; }; + BCE66B016A2445B8A131CCC1 /* MatchRepository.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchRepository.swift; path = MatchLiveTv/Data/Repository/MatchRepository.swift; sourceTree = ""; }; + DCA182391E944AE5A2597AC3 /* MatchSessionLauncher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchSessionLauncher.swift; path = MatchLiveTv/Data/Repository/MatchSessionLauncher.swift; sourceTree = ""; }; + 4445135A67D44E73901769BB /* ScoreRepository.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ScoreRepository.swift; path = MatchLiveTv/Data/Repository/ScoreRepository.swift; sourceTree = ""; }; + 5A7A837C2DC94B3293762A7F /* SessionRepository.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = SessionRepository.swift; path = MatchLiveTv/Data/Repository/SessionRepository.swift; sourceTree = ""; }; + DDD70F309E2B4520859A2C2C /* ScoreController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ScoreController.swift; path = MatchLiveTv/Data/Scoring/ScoreController.swift; sourceTree = ""; }; + 7C33D42852814E1DBB3A08E1 /* WizardSessionHolder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = WizardSessionHolder.swift; path = MatchLiveTv/Data/WizardSessionHolder.swift; sourceTree = ""; }; + F8EC5F4C8C614E0DB4B12C70 /* MatchHubFilter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchHubFilter.swift; path = MatchLiveTv/Domain/MatchHubFilter.swift; sourceTree = ""; }; + 4613F07CA9354AAA92BC5DBB /* MatchScoringRules.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchScoringRules.swift; path = MatchLiveTv/Domain/MatchScoringRules.swift; sourceTree = ""; }; + 93698CDE6B6A4E9C9AE95963 /* Models.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Models.swift; path = MatchLiveTv/Domain/Models.swift; sourceTree = ""; }; + D5227DDCD86440DB80A47C8C /* ScoreState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ScoreState.swift; path = MatchLiveTv/Domain/ScoreState.swift; sourceTree = ""; }; + BEEF93149EDE4FDFA08B3688 /* BroadcastModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = BroadcastModels.swift; path = MatchLiveTv/Streaming/BroadcastModels.swift; sourceTree = ""; }; + D081E0B54929401CBD18B09B /* BroadcastOrientationPolicy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = BroadcastOrientationPolicy.swift; path = MatchLiveTv/Streaming/BroadcastOrientationPolicy.swift; sourceTree = ""; }; + 942B3BBFFF4940C4BB3C8BC9 /* BroadcastVideoOrientation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = BroadcastVideoOrientation.swift; path = MatchLiveTv/Streaming/BroadcastVideoOrientation.swift; sourceTree = ""; }; + 51F581CC803B4A05AB15ABFA /* LiveBroadcastCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LiveBroadcastCoordinator.swift; path = MatchLiveTv/Streaming/LiveBroadcastCoordinator.swift; sourceTree = ""; }; + 079AC7A791404EEC85BFA269 /* LiveBroadcastEngine.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LiveBroadcastEngine.swift; path = MatchLiveTv/Streaming/LiveBroadcastEngine.swift; sourceTree = ""; }; + 30119FBFE90B49E7911D9737 /* CompactScoreboardElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = CompactScoreboardElement.swift; path = MatchLiveTv/Streaming/Overlay/CompactScoreboardElement.swift; sourceTree = ""; }; + 33CB77EE9F4B495B8C307CA5 /* OverlayCanvasRenderer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = OverlayCanvasRenderer.swift; path = MatchLiveTv/Streaming/Overlay/OverlayCanvasRenderer.swift; sourceTree = ""; }; + EFFC303AD7734A02ACD4325B /* OverlayLogoCache.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = OverlayLogoCache.swift; path = MatchLiveTv/Streaming/Overlay/OverlayLogoCache.swift; sourceTree = ""; }; + F08A6AE984BE4B67B4D276E9 /* OverlayMappings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = OverlayMappings.swift; path = MatchLiveTv/Streaming/Overlay/OverlayMappings.swift; sourceTree = ""; }; + D810F5CF78494774A6D64E88 /* OverlayRenderer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = OverlayRenderer.swift; path = MatchLiveTv/Streaming/Overlay/OverlayRenderer.swift; sourceTree = ""; }; + CD9D26A5CFAC47D3B3A00A54 /* OverlayState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = OverlayState.swift; path = MatchLiveTv/Streaming/Overlay/OverlayState.swift; sourceTree = ""; }; + F84797151F98436F92A43801 /* ScoreboardElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ScoreboardElement.swift; path = MatchLiveTv/Streaming/Overlay/ScoreboardElement.swift; sourceTree = ""; }; + 6C6C729574BA484FBB714BE6 /* SponsorElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = SponsorElement.swift; path = MatchLiveTv/Streaming/Overlay/SponsorElement.swift; sourceTree = ""; }; + 8C6CCCA5DA7747C98FE8ACB1 /* WatermarkElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = WatermarkElement.swift; path = MatchLiveTv/Streaming/Overlay/WatermarkElement.swift; sourceTree = ""; }; + BA5FFA3368E34F0AAE4851D9 /* LivePreviewView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LivePreviewView.swift; path = MatchLiveTv/Streaming/Preview/LivePreviewView.swift; sourceTree = ""; }; + A41A4566F556459F993D61B9 /* StreamVideoPreset.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = StreamVideoPreset.swift; path = MatchLiveTv/Streaming/StreamVideoPreset.swift; sourceTree = ""; }; + 7D5C91D62B6343D0972A72AF /* AccountScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AccountScreen.swift; path = MatchLiveTv/UI/Account/AccountScreen.swift; sourceTree = ""; }; + 18E52B37E419404CB99B28DE /* BroadcastControlsOverlay.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = BroadcastControlsOverlay.swift; path = MatchLiveTv/UI/Broadcast/BroadcastControlsOverlay.swift; sourceTree = ""; }; + 2988D9C0BC3F434FBCC49005 /* BroadcastScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = BroadcastScreen.swift; path = MatchLiveTv/UI/Broadcast/BroadcastScreen.swift; sourceTree = ""; }; + 6C447F04ECB943BC9AD0CC95 /* LiveScoreActions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LiveScoreActions.swift; path = MatchLiveTv/UI/Broadcast/LiveScoreActions.swift; sourceTree = ""; }; + 663B320566A34BC7A697DFE0 /* MatchLiveWordmark.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchLiveWordmark.swift; path = MatchLiveTv/UI/Components/MatchLiveWordmark.swift; sourceTree = ""; }; + 66297B25A76040998427B00A /* MatchPrimaryButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchPrimaryButton.swift; path = MatchLiveTv/UI/Components/MatchPrimaryButton.swift; sourceTree = ""; }; + 0509277A18804D73AC889EBF /* MatchScreenScaffold.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchScreenScaffold.swift; path = MatchLiveTv/UI/Components/MatchScreenScaffold.swift; sourceTree = ""; }; + 862C65E351B04B7E9A26D895 /* MatchSecondaryButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchSecondaryButton.swift; path = MatchLiveTv/UI/Components/MatchSecondaryButton.swift; sourceTree = ""; }; + 8DC0D1A989A54BB8B0A6FF0D /* MatchStatusBadge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchStatusBadge.swift; path = MatchLiveTv/UI/Components/MatchStatusBadge.swift; sourceTree = ""; }; + 0013266D6FB3498EBA78F131 /* ForgotPasswordScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ForgotPasswordScreen.swift; path = MatchLiveTv/UI/Login/ForgotPasswordScreen.swift; sourceTree = ""; }; + 01D7C441CF43473787AB1720 /* LoginScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LoginScreen.swift; path = MatchLiveTv/UI/Login/LoginScreen.swift; sourceTree = ""; }; + 3AA170A67A524F7B9563F81A /* MatchesScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchesScreen.swift; path = MatchLiveTv/UI/Matches/MatchesScreen.swift; sourceTree = ""; }; + 2D57A402BE894D8FA625269F /* AppNavHost.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppNavHost.swift; path = MatchLiveTv/UI/Navigation/AppNavHost.swift; sourceTree = ""; }; + 1469CB388C764A01895C0E56 /* ModalRoutes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ModalRoutes.swift; path = MatchLiveTv/UI/Navigation/ModalRoutes.swift; sourceTree = ""; }; + DA2ACAEFFF3E44BD95FA28F3 /* Routes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Routes.swift; path = MatchLiveTv/UI/Navigation/Routes.swift; sourceTree = ""; }; + 341078754C184DC5A4CCB56D /* BroadcastPermissions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = BroadcastPermissions.swift; path = MatchLiveTv/UI/Permissions/BroadcastPermissions.swift; sourceTree = ""; }; + 05E248B7A47B4B549FD5F6B0 /* SplashScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = SplashScreen.swift; path = MatchLiveTv/UI/Splash/SplashScreen.swift; sourceTree = ""; }; + A8F12B26A63C439DB7E37629 /* KeepScreenOn.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = KeepScreenOn.swift; path = MatchLiveTv/UI/System/KeepScreenOn.swift; sourceTree = ""; }; + 01F16E96445F4E4F8744155E /* ScreenOrientation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ScreenOrientation.swift; path = MatchLiveTv/UI/System/ScreenOrientation.swift; sourceTree = ""; }; + 82B05DFC0D2F4B33BCEC2DF9 /* ShareSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ShareSheet.swift; path = MatchLiveTv/UI/System/ShareSheet.swift; sourceTree = ""; }; + 8AC1A90E227C4027B14CA899 /* MatchColors.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchColors.swift; path = MatchLiveTv/UI/Theme/MatchColors.swift; sourceTree = ""; }; + 143E3FD4FE3944BB89986819 /* StepMatchScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = StepMatchScreen.swift; path = MatchLiveTv/UI/Wizard/StepMatchScreen.swift; sourceTree = ""; }; + E4085602D215442FABF7D56B /* StepNetworkTestScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = StepNetworkTestScreen.swift; path = MatchLiveTv/UI/Wizard/StepNetworkTestScreen.swift; sourceTree = ""; }; + 9910E7A0009E4A5A994D1784 /* StepTransmissionScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = StepTransmissionScreen.swift; path = MatchLiveTv/UI/Wizard/StepTransmissionScreen.swift; sourceTree = ""; }; + D796A667DA364E06AD80F8F8 /* TeamBrandingEditor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TeamBrandingEditor.swift; path = MatchLiveTv/UI/Wizard/TeamBrandingEditor.swift; sourceTree = ""; }; + 178F643E4BE04E86A40992E0 /* TeamColorPicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TeamColorPicker.swift; path = MatchLiveTv/UI/Wizard/TeamColorPicker.swift; sourceTree = ""; }; + BD032228BAEE44238BCBACAB /* WizardComponents.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = WizardComponents.swift; path = MatchLiveTv/UI/Wizard/WizardComponents.swift; sourceTree = ""; }; + 074933275EC440FCAEAA71B3 /* WizardShellScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = WizardShellScreen.swift; path = MatchLiveTv/UI/Wizard/WizardShellScreen.swift; sourceTree = ""; }; + C56969F21CC744729FBE7ED9 /* ApiInstantTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ApiInstantTests.swift; path = MatchLiveTvTests/ApiInstantTests.swift; sourceTree = ""; }; + 458846739B99444AA8933F36 /* BroadcastOrientationPolicyTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = BroadcastOrientationPolicyTests.swift; path = MatchLiveTvTests/BroadcastOrientationPolicyTests.swift; sourceTree = ""; }; + 7DCEB3554AA14496B1D42AB3 /* LiveBroadcastCoordinatorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LiveBroadcastCoordinatorTests.swift; path = MatchLiveTvTests/LiveBroadcastCoordinatorTests.swift; sourceTree = ""; }; + C775B052F37144CB9DFD8739 /* LiveScoreDialogHostTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LiveScoreDialogHostTests.swift; path = MatchLiveTvTests/LiveScoreDialogHostTests.swift; sourceTree = ""; }; + 34DA4AF7CB6341D086039463 /* MatchScoringRulesTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchScoringRulesTests.swift; path = MatchLiveTvTests/MatchScoringRulesTests.swift; sourceTree = ""; }; + 5ACD231AB9D14C9F820B31E1 /* ScoreActionDecodeTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ScoreActionDecodeTests.swift; path = MatchLiveTvTests/ScoreActionDecodeTests.swift; sourceTree = ""; }; + 6F114B436A2743ECB16C9A41 /* ScoreControllerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ScoreControllerTests.swift; path = MatchLiveTvTests/ScoreControllerTests.swift; sourceTree = ""; }; + 5ABDD09123574C94AE35CF4C /* ThermalAdaptationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ThermalAdaptationTests.swift; path = MatchLiveTvTests/ThermalAdaptationTests.swift; sourceTree = ""; }; + A54257E581AD43BDBD468313 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = MatchLiveTv/Resources/Assets.xcassets; sourceTree = ""; }; + E25FA8689C814A8A820B8CF2 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = MatchLiveTv/Resources/Info.plist; sourceTree = ""; }; + 9FF4CCB1FBBA4C1B91A344C8 /* it.lproj */ = {isa = PBXFileReference; lastKnownFileType = folder; path = MatchLiveTv/Resources/it.lproj; sourceTree = ""; }; + 3DD2152FD3474235B91FE542 /* en.lproj */ = {isa = PBXFileReference; lastKnownFileType = folder; path = MatchLiveTv/Resources/en.lproj; sourceTree = ""; }; + 1FB08DA4A2B140008EBA2F86 /* fr.lproj */ = {isa = PBXFileReference; lastKnownFileType = folder; path = MatchLiveTv/Resources/fr.lproj; sourceTree = ""; }; + B40D03FC806E4F13A866ACB4 /* de.lproj */ = {isa = PBXFileReference; lastKnownFileType = folder; path = MatchLiveTv/Resources/de.lproj; sourceTree = ""; }; + 3176CFCA2D624B67BCD3D85D /* es.lproj */ = {isa = PBXFileReference; lastKnownFileType = folder; path = MatchLiveTv/Resources/es.lproj; sourceTree = ""; }; + 90A99EA318D646F9BC464205 /* MatchLiveTv.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MatchLiveTv.app; sourceTree = BUILT_PRODUCTS_DIR; }; + CD9E5C058EC34B4983CC457C /* MatchLiveTvTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MatchLiveTvTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 9ED2582C45E943B99BDE1280 /* HaishinKit */ = {isa = XCSwiftPackageProductDependency; package = D5732E009B7E4D378A1F71DB; productName = HaishinKit; }; + 39E98F78A87F42EEB820737D /* RTMPHaishinKit */ = {isa = XCSwiftPackageProductDependency; package = D5732E009B7E4D378A1F71DB; productName = RTMPHaishinKit; }; + ACDEEF4A785241FF87295B4B /* MatchLiveTvApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 25930AAB8F8A4E43A9FBE5EE /* MatchLiveTvApp.swift */; }; + 9765D71AFD884B20920396F4 /* ApiInstant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B67B2CEBA2D4765892F5D35 /* ApiInstant.swift */; }; + 9177576D5E59450781F7F300 /* AppConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE94E33A56BB4272B4125448 /* AppConfig.swift */; }; + 7CE6D945C55D4C0A8CB28FDC /* AppLanguage.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFCEF74E04524E6E829E98A7 /* AppLanguage.swift */; }; + C123E8D4F09748CA9422F68D /* ColorHex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E743B662F034CE780350C20 /* ColorHex.swift */; }; + F430E29862EE48DBA6C5479A /* DeviceTelemetry.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5B70A5291FD45159FE4C19B /* DeviceTelemetry.swift */; }; + 5A2235553DE54319B8E2AD1C /* MediaUrl.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3A078B723E14413890CAFAB /* MediaUrl.swift */; }; + C3DFB4D42B8344E2A5048A02 /* ThermalState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7068311D5BB3421BAFF79C58 /* ThermalState.swift */; }; + D3E0FDF059ED40D8B3438FC1 /* ThermalStateManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5DB45642BEBB4F6F9003A8AC /* ThermalStateManager.swift */; }; + 417111487CD2457090E18647 /* TokenStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4780AA60D2F543B396474E9D /* TokenStore.swift */; }; + 54C9F052B9AD4314AA06EC47 /* UserFacingError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92302BD18B5F46F79A9363C0 /* UserFacingError.swift */; }; + 90DD8717E849465C894797C7 /* ApiDtos.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF13DB6CEA76489580B2A2C3 /* ApiDtos.swift */; }; + 973A35E12FA443479B3AC6AD /* MatchLiveAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5E463597BE34D2AB7263AC4 /* MatchLiveAPI.swift */; }; + 3F7BEB03B5174D01B094ADC6 /* AppContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 275CAE44E4CD48B580CF07A8 /* AppContainer.swift */; }; + 4C86E02CAF9E40CAAA6FA44F /* ActionCableClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2A5061AAEB049DFB1B1C7F7 /* ActionCableClient.swift */; }; + 95D3AADB1FB7416EA92939B7 /* SessionCableService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 836E47CBA9E64A6988F7B73B /* SessionCableService.swift */; }; + EA7523924BFE4737AB0268E5 /* AuthRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9840E5C5FF141288900A98F /* AuthRepository.swift */; }; + D8F35B67C6E74052BFE3608C /* MatchRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCE66B016A2445B8A131CCC1 /* MatchRepository.swift */; }; + 1E28B9D42D1F4CE2A1177B10 /* MatchSessionLauncher.swift in Sources */ = {isa = PBXBuildFile; fileRef = DCA182391E944AE5A2597AC3 /* MatchSessionLauncher.swift */; }; + 8769CB1C058248D5B09D67CF /* ScoreRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4445135A67D44E73901769BB /* ScoreRepository.swift */; }; + 8767A7BF3B9149688C6A87DC /* SessionRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A7A837C2DC94B3293762A7F /* SessionRepository.swift */; }; + 14CF66D5D0434401B65F19B6 /* ScoreController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDD70F309E2B4520859A2C2C /* ScoreController.swift */; }; + A3A73D4B094C4F2585ED4D5C /* WizardSessionHolder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C33D42852814E1DBB3A08E1 /* WizardSessionHolder.swift */; }; + 9C9F0CF9600341C896D9AFAD /* MatchHubFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8EC5F4C8C614E0DB4B12C70 /* MatchHubFilter.swift */; }; + 877A03C3533D4A3CAF58E545 /* MatchScoringRules.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4613F07CA9354AAA92BC5DBB /* MatchScoringRules.swift */; }; + 4A762F216E62456283EFCB95 /* Models.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93698CDE6B6A4E9C9AE95963 /* Models.swift */; }; + DD2EF3BEFCC34239B7097D6C /* ScoreState.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5227DDCD86440DB80A47C8C /* ScoreState.swift */; }; + 6C82050CCABC42C4BCDEDB56 /* BroadcastModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = BEEF93149EDE4FDFA08B3688 /* BroadcastModels.swift */; }; + 030ED957A3C14B258457A5F6 /* BroadcastOrientationPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = D081E0B54929401CBD18B09B /* BroadcastOrientationPolicy.swift */; }; + F44EEE26569D4FCF9EAB1781 /* BroadcastVideoOrientation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 942B3BBFFF4940C4BB3C8BC9 /* BroadcastVideoOrientation.swift */; }; + E853839BE7014FDB979BC8E2 /* LiveBroadcastCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51F581CC803B4A05AB15ABFA /* LiveBroadcastCoordinator.swift */; }; + B27F0A51FF544BF7BBF2E132 /* LiveBroadcastEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 079AC7A791404EEC85BFA269 /* LiveBroadcastEngine.swift */; }; + E45C4A889E3F4174AE4FCA25 /* CompactScoreboardElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30119FBFE90B49E7911D9737 /* CompactScoreboardElement.swift */; }; + DF8C998C016042258F40D3FE /* OverlayCanvasRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CB77EE9F4B495B8C307CA5 /* OverlayCanvasRenderer.swift */; }; + 0127E05661D24F1DAA768A39 /* OverlayLogoCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFFC303AD7734A02ACD4325B /* OverlayLogoCache.swift */; }; + 7089DB15FC694FB3A7083D96 /* OverlayMappings.swift in Sources */ = {isa = PBXBuildFile; fileRef = F08A6AE984BE4B67B4D276E9 /* OverlayMappings.swift */; }; + 0B72360FBC4749FD94E6BAAB /* OverlayRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = D810F5CF78494774A6D64E88 /* OverlayRenderer.swift */; }; + 0823F27AA8B944A3B62B3333 /* OverlayState.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD9D26A5CFAC47D3B3A00A54 /* OverlayState.swift */; }; + 730BF729664343E18A784EA7 /* ScoreboardElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = F84797151F98436F92A43801 /* ScoreboardElement.swift */; }; + 0A800720080043F99B2D432B /* SponsorElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C6C729574BA484FBB714BE6 /* SponsorElement.swift */; }; + F643CA5B06064E839BD4AE52 /* WatermarkElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C6CCCA5DA7747C98FE8ACB1 /* WatermarkElement.swift */; }; + 2F793DD9D2DD47A28517AD47 /* LivePreviewView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA5FFA3368E34F0AAE4851D9 /* LivePreviewView.swift */; }; + 1706660774B2480B8849D596 /* StreamVideoPreset.swift in Sources */ = {isa = PBXBuildFile; fileRef = A41A4566F556459F993D61B9 /* StreamVideoPreset.swift */; }; + 518293D2E3B148869F40831D /* AccountScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D5C91D62B6343D0972A72AF /* AccountScreen.swift */; }; + 44401578BE2D4143AAA73092 /* BroadcastControlsOverlay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18E52B37E419404CB99B28DE /* BroadcastControlsOverlay.swift */; }; + 5DDABE391DE44D738B027CDF /* BroadcastScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2988D9C0BC3F434FBCC49005 /* BroadcastScreen.swift */; }; + 25266B72797C4D6C9C678E9C /* LiveScoreActions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C447F04ECB943BC9AD0CC95 /* LiveScoreActions.swift */; }; + 4D044E89FA42456DB0D681C3 /* MatchLiveWordmark.swift in Sources */ = {isa = PBXBuildFile; fileRef = 663B320566A34BC7A697DFE0 /* MatchLiveWordmark.swift */; }; + 34F29FBD99A3444D952FA8DB /* MatchPrimaryButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66297B25A76040998427B00A /* MatchPrimaryButton.swift */; }; + B8C6C70CA6ED4BB1AC97B4B6 /* MatchScreenScaffold.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0509277A18804D73AC889EBF /* MatchScreenScaffold.swift */; }; + F5C61F3B323F47F1B19D8FD9 /* MatchSecondaryButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 862C65E351B04B7E9A26D895 /* MatchSecondaryButton.swift */; }; + 4E34FC80685D43B7BD581D91 /* MatchStatusBadge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DC0D1A989A54BB8B0A6FF0D /* MatchStatusBadge.swift */; }; + 3FB9A0B71AD14DF2B2166DEE /* ForgotPasswordScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0013266D6FB3498EBA78F131 /* ForgotPasswordScreen.swift */; }; + ECA5F96A38CF4E868A11E973 /* LoginScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01D7C441CF43473787AB1720 /* LoginScreen.swift */; }; + 4B627CF96CD44918A67F3FB3 /* MatchesScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3AA170A67A524F7B9563F81A /* MatchesScreen.swift */; }; + 29D481B5AC824559B9E7C3DD /* AppNavHost.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D57A402BE894D8FA625269F /* AppNavHost.swift */; }; + 3B45AABC76A94873B815B78C /* ModalRoutes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1469CB388C764A01895C0E56 /* ModalRoutes.swift */; }; + 7E4443CD7DDD4A6982CE59BE /* Routes.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA2ACAEFFF3E44BD95FA28F3 /* Routes.swift */; }; + CAFFE6603F904FF3AE52B024 /* BroadcastPermissions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 341078754C184DC5A4CCB56D /* BroadcastPermissions.swift */; }; + F9EC9F338E354428B4DDD123 /* SplashScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 05E248B7A47B4B549FD5F6B0 /* SplashScreen.swift */; }; + 3A28378EEA014E0E919FC85A /* KeepScreenOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8F12B26A63C439DB7E37629 /* KeepScreenOn.swift */; }; + 0EFFD0F8D14744409490A888 /* ScreenOrientation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01F16E96445F4E4F8744155E /* ScreenOrientation.swift */; }; + 3033B001A2B04F9EA5C0AFEA /* ShareSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82B05DFC0D2F4B33BCEC2DF9 /* ShareSheet.swift */; }; + FA9FC8585CB34F6FB051ADAE /* MatchColors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8AC1A90E227C4027B14CA899 /* MatchColors.swift */; }; + DE419560D0934C0E80396624 /* StepMatchScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 143E3FD4FE3944BB89986819 /* StepMatchScreen.swift */; }; + 968C0C21153646D49BF42000 /* StepNetworkTestScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4085602D215442FABF7D56B /* StepNetworkTestScreen.swift */; }; + AF8AFF8D78F94A47B0F53815 /* StepTransmissionScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9910E7A0009E4A5A994D1784 /* StepTransmissionScreen.swift */; }; + 3E2B348427E844A5929927A3 /* TeamBrandingEditor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D796A667DA364E06AD80F8F8 /* TeamBrandingEditor.swift */; }; + 0DF31674F9C74BE9AB0D0006 /* TeamColorPicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 178F643E4BE04E86A40992E0 /* TeamColorPicker.swift */; }; + B3E8BC40BD7140A2B4CBB550 /* WizardComponents.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD032228BAEE44238BCBACAB /* WizardComponents.swift */; }; + 78349D6E899240F5A277235C /* WizardShellScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 074933275EC440FCAEAA71B3 /* WizardShellScreen.swift */; }; + CDE0D7B5AB7D492AB95786B7 /* ApiInstantTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C56969F21CC744729FBE7ED9 /* ApiInstantTests.swift */; }; + 3BD17C77BE2541C187E923CA /* BroadcastOrientationPolicyTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 458846739B99444AA8933F36 /* BroadcastOrientationPolicyTests.swift */; }; + 752487F9A18F451C92BF95E8 /* LiveBroadcastCoordinatorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DCEB3554AA14496B1D42AB3 /* LiveBroadcastCoordinatorTests.swift */; }; + 57C059515D66492EA5A5B936 /* LiveScoreDialogHostTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C775B052F37144CB9DFD8739 /* LiveScoreDialogHostTests.swift */; }; + 86D617A624DA4C43BE20E834 /* MatchScoringRulesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34DA4AF7CB6341D086039463 /* MatchScoringRulesTests.swift */; }; + 1882BB3E58F44F8CAEB5516A /* ScoreActionDecodeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5ACD231AB9D14C9F820B31E1 /* ScoreActionDecodeTests.swift */; }; + 27268016D43546FEADD5EA90 /* ScoreControllerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F114B436A2743ECB16C9A41 /* ScoreControllerTests.swift */; }; + BEF6C46E10F94F76A5DCED53 /* ThermalAdaptationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5ABDD09123574C94AE35CF4C /* ThermalAdaptationTests.swift */; }; + EE7051AE56B944269FE9FEB5 /* Assets in Resources */ = {isa = PBXBuildFile; fileRef = A54257E581AD43BDBD468313; }; + C24FC4D76FBE4403AD081F31 /* it.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 9FF4CCB1FBBA4C1B91A344C8; }; + CADFFEFDDE204D8983D5726E /* en.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 3DD2152FD3474235B91FE542; }; + 9CD61D14D20B4D79B760FF3A /* fr.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 1FB08DA4A2B140008EBA2F86; }; + 635046DE1EF64F57BCF4D7BA /* de.lproj in Resources */ = {isa = PBXBuildFile; fileRef = B40D03FC806E4F13A866ACB4; }; + CCCBF87CA3E749368500DDBE /* es.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 3176CFCA2D624B67BCD3D85D; }; + 65634C6C829A41E1950996E5 = {isa = PBXGroup; children = (44DF7DFD6DB3478A978A9AE3, 9A0B188E5E8E4125B732D8B5, CFAA62945B53429C8791D791); sourceTree = ""; }; + 44DF7DFD6DB3478A978A9AE3 = {isa = PBXGroup; children = (25930AAB8F8A4E43A9FBE5EE, 7B67B2CEBA2D4765892F5D35, DE94E33A56BB4272B4125448, FFCEF74E04524E6E829E98A7, 4E743B662F034CE780350C20, C5B70A5291FD45159FE4C19B, C3A078B723E14413890CAFAB, 7068311D5BB3421BAFF79C58, 5DB45642BEBB4F6F9003A8AC, 4780AA60D2F543B396474E9D, 92302BD18B5F46F79A9363C0, AF13DB6CEA76489580B2A2C3, A5E463597BE34D2AB7263AC4, 275CAE44E4CD48B580CF07A8, D2A5061AAEB049DFB1B1C7F7, 836E47CBA9E64A6988F7B73B, F9840E5C5FF141288900A98F, BCE66B016A2445B8A131CCC1, DCA182391E944AE5A2597AC3, 4445135A67D44E73901769BB, 5A7A837C2DC94B3293762A7F, DDD70F309E2B4520859A2C2C, 7C33D42852814E1DBB3A08E1, F8EC5F4C8C614E0DB4B12C70, 4613F07CA9354AAA92BC5DBB, 93698CDE6B6A4E9C9AE95963, D5227DDCD86440DB80A47C8C, BEEF93149EDE4FDFA08B3688, D081E0B54929401CBD18B09B, 942B3BBFFF4940C4BB3C8BC9, 51F581CC803B4A05AB15ABFA, 079AC7A791404EEC85BFA269, 30119FBFE90B49E7911D9737, 33CB77EE9F4B495B8C307CA5, EFFC303AD7734A02ACD4325B, F08A6AE984BE4B67B4D276E9, D810F5CF78494774A6D64E88, CD9D26A5CFAC47D3B3A00A54, F84797151F98436F92A43801, 6C6C729574BA484FBB714BE6, 8C6CCCA5DA7747C98FE8ACB1, BA5FFA3368E34F0AAE4851D9, A41A4566F556459F993D61B9, 7D5C91D62B6343D0972A72AF, 18E52B37E419404CB99B28DE, 2988D9C0BC3F434FBCC49005, 6C447F04ECB943BC9AD0CC95, 663B320566A34BC7A697DFE0, 66297B25A76040998427B00A, 0509277A18804D73AC889EBF, 862C65E351B04B7E9A26D895, 8DC0D1A989A54BB8B0A6FF0D, 0013266D6FB3498EBA78F131, 01D7C441CF43473787AB1720, 3AA170A67A524F7B9563F81A, 2D57A402BE894D8FA625269F, 1469CB388C764A01895C0E56, DA2ACAEFFF3E44BD95FA28F3, 341078754C184DC5A4CCB56D, 05E248B7A47B4B549FD5F6B0, A8F12B26A63C439DB7E37629, 01F16E96445F4E4F8744155E, 82B05DFC0D2F4B33BCEC2DF9, 8AC1A90E227C4027B14CA899, 143E3FD4FE3944BB89986819, E4085602D215442FABF7D56B, 9910E7A0009E4A5A994D1784, D796A667DA364E06AD80F8F8, 178F643E4BE04E86A40992E0, BD032228BAEE44238BCBACAB, 074933275EC440FCAEAA71B3, A54257E581AD43BDBD468313, E25FA8689C814A8A820B8CF2, 9FF4CCB1FBBA4C1B91A344C8, 3DD2152FD3474235B91FE542, 1FB08DA4A2B140008EBA2F86, B40D03FC806E4F13A866ACB4, 3176CFCA2D624B67BCD3D85D); name = MatchLiveTv; sourceTree = ""; }; + 9A0B188E5E8E4125B732D8B5 = {isa = PBXGroup; children = (C56969F21CC744729FBE7ED9, 458846739B99444AA8933F36, 7DCEB3554AA14496B1D42AB3, C775B052F37144CB9DFD8739, 34DA4AF7CB6341D086039463, 5ACD231AB9D14C9F820B31E1, 6F114B436A2743ECB16C9A41, 5ABDD09123574C94AE35CF4C); name = MatchLiveTvTests; sourceTree = ""; }; + CFAA62945B53429C8791D791 = {isa = PBXGroup; children = (90A99EA318D646F9BC464205, CD9E5C058EC34B4983CC457C); name = Products; sourceTree = ""; }; + C690D9F363C04AB29B993DE3 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = (ACDEEF4A785241FF87295B4B, 9765D71AFD884B20920396F4, 9177576D5E59450781F7F300, 7CE6D945C55D4C0A8CB28FDC, C123E8D4F09748CA9422F68D, F430E29862EE48DBA6C5479A, 5A2235553DE54319B8E2AD1C, C3DFB4D42B8344E2A5048A02, D3E0FDF059ED40D8B3438FC1, 417111487CD2457090E18647, 54C9F052B9AD4314AA06EC47, 90DD8717E849465C894797C7, 973A35E12FA443479B3AC6AD, 3F7BEB03B5174D01B094ADC6, 4C86E02CAF9E40CAAA6FA44F, 95D3AADB1FB7416EA92939B7, EA7523924BFE4737AB0268E5, D8F35B67C6E74052BFE3608C, 1E28B9D42D1F4CE2A1177B10, 8769CB1C058248D5B09D67CF, 8767A7BF3B9149688C6A87DC, 14CF66D5D0434401B65F19B6, A3A73D4B094C4F2585ED4D5C, 9C9F0CF9600341C896D9AFAD, 877A03C3533D4A3CAF58E545, 4A762F216E62456283EFCB95, DD2EF3BEFCC34239B7097D6C, 6C82050CCABC42C4BCDEDB56, 030ED957A3C14B258457A5F6, F44EEE26569D4FCF9EAB1781, E853839BE7014FDB979BC8E2, B27F0A51FF544BF7BBF2E132, E45C4A889E3F4174AE4FCA25, DF8C998C016042258F40D3FE, 0127E05661D24F1DAA768A39, 7089DB15FC694FB3A7083D96, 0B72360FBC4749FD94E6BAAB, 0823F27AA8B944A3B62B3333, 730BF729664343E18A784EA7, 0A800720080043F99B2D432B, F643CA5B06064E839BD4AE52, 2F793DD9D2DD47A28517AD47, 1706660774B2480B8849D596, 518293D2E3B148869F40831D, 44401578BE2D4143AAA73092, 5DDABE391DE44D738B027CDF, 25266B72797C4D6C9C678E9C, 4D044E89FA42456DB0D681C3, 34F29FBD99A3444D952FA8DB, B8C6C70CA6ED4BB1AC97B4B6, F5C61F3B323F47F1B19D8FD9, 4E34FC80685D43B7BD581D91, 3FB9A0B71AD14DF2B2166DEE, ECA5F96A38CF4E868A11E973, 4B627CF96CD44918A67F3FB3, 29D481B5AC824559B9E7C3DD, 3B45AABC76A94873B815B78C, 7E4443CD7DDD4A6982CE59BE, CAFFE6603F904FF3AE52B024, F9EC9F338E354428B4DDD123, 3A28378EEA014E0E919FC85A, 0EFFD0F8D14744409490A888, 3033B001A2B04F9EA5C0AFEA, FA9FC8585CB34F6FB051ADAE, DE419560D0934C0E80396624, 968C0C21153646D49BF42000, AF8AFF8D78F94A47B0F53815, 3E2B348427E844A5929927A3, 0DF31674F9C74BE9AB0D0006, B3E8BC40BD7140A2B4CBB550, 78349D6E899240F5A277235C); runOnlyForDeploymentPostprocessing = 0; }; + 7DDAE95F35C042E0AA8D648F = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = (CDE0D7B5AB7D492AB95786B7, 3BD17C77BE2541C187E923CA, 752487F9A18F451C92BF95E8, 57C059515D66492EA5A5B936, 86D617A624DA4C43BE20E834, 1882BB3E58F44F8CAEB5516A, 27268016D43546FEADD5EA90, BEF6C46E10F94F76A5DCED53); runOnlyForDeploymentPostprocessing = 0; }; + 4D8ACE6346594EA5BBB78946 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = (EE7051AE56B944269FE9FEB5, C24FC4D76FBE4403AD081F31, CADFFEFDDE204D8983D5726E, 9CD61D14D20B4D79B760FF3A, 635046DE1EF64F57BCF4D7BA, CCCBF87CA3E749368500DDBE); runOnlyForDeploymentPostprocessing = 0; }; + 3C4F572853FD429FB2D21C70 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = (); runOnlyForDeploymentPostprocessing = 0; }; + 485CFBE0F9E54222B64C8B83 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = (); runOnlyForDeploymentPostprocessing = 0; }; + 20099FD8FB20437EBAC22528 = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 26; + CURRENT_PROJECT_VERSION = 31; GENERATE_INFOPLIST_FILE = NO; INFOPLIST_FILE = MatchLiveTv/Resources/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 16.0; @@ -202,7 +202,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 2.0.5; + MARKETING_VERSION = 2.0.10; PRODUCT_BUNDLE_IDENTIFIER = com.matchlivetv.match-live-tv; PRODUCT_NAME = "$(TARGET_NAME)"; API_BASE_URL = "https://www.matchlivetv.it"; @@ -211,10 +211,10 @@ ENABLE_TESTABILITY = YES; }; name = Debug; }; - 974D195BCA9F41ECA825E63D = {isa = XCBuildConfiguration; buildSettings = { + F3F165985FD44A39B3B6FF0E = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 26; + CURRENT_PROJECT_VERSION = 31; GENERATE_INFOPLIST_FILE = NO; INFOPLIST_FILE = MatchLiveTv/Resources/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 16.0; @@ -225,20 +225,20 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 2.0.5; + MARKETING_VERSION = 2.0.10; PRODUCT_BUNDLE_IDENTIFIER = com.matchlivetv.match-live-tv; PRODUCT_NAME = "$(TARGET_NAME)"; API_BASE_URL = "https://www.matchlivetv.it"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Release; }; - BD9014D2E1B34341B2930049 = {isa = XCBuildConfiguration; buildSettings = { + 5E3A29EC3DB24266B9EF0171 = {isa = XCBuildConfiguration; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 26; + CURRENT_PROJECT_VERSION = 31; GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 16.0; - MARKETING_VERSION = 2.0.5; + MARKETING_VERSION = 2.0.10; PRODUCT_BUNDLE_IDENTIFIER = com.matchlivetv.match-live-tv.tests; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; @@ -246,13 +246,13 @@ SWIFT_VERSION = 5.0; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MatchLiveTv.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/MatchLiveTv"; }; name = Debug; }; - F613BB5D3D6744F3BD58BCBB = {isa = XCBuildConfiguration; buildSettings = { + 555198A5DDDE436CBACD7E18 = {isa = XCBuildConfiguration; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 26; + CURRENT_PROJECT_VERSION = 31; GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 16.0; - MARKETING_VERSION = 2.0.5; + MARKETING_VERSION = 2.0.10; PRODUCT_BUNDLE_IDENTIFIER = com.matchlivetv.match-live-tv.tests; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; @@ -260,17 +260,17 @@ SWIFT_VERSION = 5.0; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MatchLiveTv.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/MatchLiveTv"; }; name = Release; }; - E2D337A0090F45C3BD12CEA4 = {isa = XCBuildConfiguration; buildSettings = {IPHONEOS_DEPLOYMENT_TARGET = 16.0; SWIFT_VERSION = 5.0; }; name = Debug; }; - DF036DDA33454934B5DBA96F = {isa = XCBuildConfiguration; buildSettings = {IPHONEOS_DEPLOYMENT_TARGET = 16.0; SWIFT_VERSION = 5.0; }; name = Release; }; - 51779CE259A14053B83F1D94 = {isa = XCConfigurationList; buildConfigurations = (D3DDF0C54D1744C09B415888, 974D195BCA9F41ECA825E63D); defaultConfigurationName = Release; }; - 70CF9007D5E9469CB989FABF = {isa = XCConfigurationList; buildConfigurations = (BD9014D2E1B34341B2930049, F613BB5D3D6744F3BD58BCBB); defaultConfigurationName = Release; }; - 86E5AF075085439BA443DBA7 = {isa = XCConfigurationList; buildConfigurations = (E2D337A0090F45C3BD12CEA4, DF036DDA33454934B5DBA96F); defaultConfigurationName = Release; }; - 768EC47B451F4731A05BE1F9 = {isa = PBXNativeTarget; buildConfigurationList = 51779CE259A14053B83F1D94; buildPhases = (3B35A518C56047A48825F0F8, AA7CFC56BCC040A4AB487E2C, 6B4D5383389142E7AE9C4F41); buildRules = (); dependencies = (); name = MatchLiveTv; packageProductDependencies = (31418599149E4F7684EABE04, 1712041BB26748D78A1D8F49); productName = MatchLiveTv; productReference = 6FF24BB96E9C40F6A9F6E25A; productType = "com.apple.product-type.application"; }; - 057F8600A1DB4A8DB4A46300 = {isa = PBXContainerItemProxy; containerPortal = 1906C5F192A44C6284A9FC4C /* Project object */; proxyType = 1; remoteGlobalIDString = 768EC47B451F4731A05BE1F9; remoteInfo = MatchLiveTv; }; - 56E58DFB903041BB95600D33 = {isa = PBXTargetDependency; target = 768EC47B451F4731A05BE1F9 /* MatchLiveTv */; targetProxy = 057F8600A1DB4A8DB4A46300 /* PBXContainerItemProxy */; }; - F6079500E62048DB89AE3866 = {isa = PBXNativeTarget; buildConfigurationList = 70CF9007D5E9469CB989FABF; buildPhases = (729C230D5EB64A76BCD517B4, 6E9DDC30CE734AC1AB90CC24); buildRules = (); dependencies = (56E58DFB903041BB95600D33); name = MatchLiveTvTests; productName = MatchLiveTvTests; productReference = 8F679C9C03AE47D6A028DBAC; productType = "com.apple.product-type.bundle.unit-test"; }; - 4901BAD7A32F4CFD805083BE = {isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/shogo4405/HaishinKit.swift"; requirement = {kind = upToNextMajorVersion; minimumVersion = 2.0.0;}; }; - 1906C5F192A44C6284A9FC4C = {isa = PBXProject; attributes = {BuildIndependentTargetsInParallel = 0; LastSwiftUpdateCheck = 1600;}; buildConfigurationList = 86E5AF075085439BA443DBA7; compatibilityVersion = "Xcode 15.0"; developmentRegion = it; mainGroup = B6A69164398F4F9FB84EC475; packageReferences = (4901BAD7A32F4CFD805083BE); productRefGroup = 2165E0C34A8B43F28AC2B21C; targets = (768EC47B451F4731A05BE1F9, F6079500E62048DB89AE3866); }; + 0E70B7C10FDA423984E36CC9 = {isa = XCBuildConfiguration; buildSettings = {IPHONEOS_DEPLOYMENT_TARGET = 16.0; SWIFT_VERSION = 5.0; }; name = Debug; }; + 2C81A80AEAE244A0B39AFBD2 = {isa = XCBuildConfiguration; buildSettings = {IPHONEOS_DEPLOYMENT_TARGET = 16.0; SWIFT_VERSION = 5.0; }; name = Release; }; + 9C291CC401A54841BFB51C25 = {isa = XCConfigurationList; buildConfigurations = (20099FD8FB20437EBAC22528, F3F165985FD44A39B3B6FF0E); defaultConfigurationName = Release; }; + 0BF72791BF6644C993570519 = {isa = XCConfigurationList; buildConfigurations = (5E3A29EC3DB24266B9EF0171, 555198A5DDDE436CBACD7E18); defaultConfigurationName = Release; }; + DCFBCCE62D04415BBE81F2BB = {isa = XCConfigurationList; buildConfigurations = (0E70B7C10FDA423984E36CC9, 2C81A80AEAE244A0B39AFBD2); defaultConfigurationName = Release; }; + C171F3406A93463A92597094 = {isa = PBXNativeTarget; buildConfigurationList = 9C291CC401A54841BFB51C25; buildPhases = (C690D9F363C04AB29B993DE3, 3C4F572853FD429FB2D21C70, 4D8ACE6346594EA5BBB78946); buildRules = (); dependencies = (); name = MatchLiveTv; packageProductDependencies = (9ED2582C45E943B99BDE1280, 39E98F78A87F42EEB820737D); productName = MatchLiveTv; productReference = 90A99EA318D646F9BC464205; productType = "com.apple.product-type.application"; }; + 4F82BD5D410347C99B86E1C0 = {isa = PBXContainerItemProxy; containerPortal = 09A1B05AF84D4EF6862C4ACB /* Project object */; proxyType = 1; remoteGlobalIDString = C171F3406A93463A92597094; remoteInfo = MatchLiveTv; }; + 6B774D48E1FA451CB663EC25 = {isa = PBXTargetDependency; target = C171F3406A93463A92597094 /* MatchLiveTv */; targetProxy = 4F82BD5D410347C99B86E1C0 /* PBXContainerItemProxy */; }; + 59CEC7DD963A47E989D35E93 = {isa = PBXNativeTarget; buildConfigurationList = 0BF72791BF6644C993570519; buildPhases = (7DDAE95F35C042E0AA8D648F, 485CFBE0F9E54222B64C8B83); buildRules = (); dependencies = (6B774D48E1FA451CB663EC25); name = MatchLiveTvTests; productName = MatchLiveTvTests; productReference = CD9E5C058EC34B4983CC457C; productType = "com.apple.product-type.bundle.unit-test"; }; + D5732E009B7E4D378A1F71DB = {isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/shogo4405/HaishinKit.swift"; requirement = {kind = upToNextMajorVersion; minimumVersion = 2.0.0;}; }; + 09A1B05AF84D4EF6862C4ACB = {isa = PBXProject; attributes = {BuildIndependentTargetsInParallel = 0; LastSwiftUpdateCheck = 1600;}; buildConfigurationList = DCFBCCE62D04415BBE81F2BB; compatibilityVersion = "Xcode 15.0"; developmentRegion = it; mainGroup = 65634C6C829A41E1950996E5; packageReferences = (D5732E009B7E4D378A1F71DB); productRefGroup = CFAA62945B53429C8791D791; targets = (C171F3406A93463A92597094, 59CEC7DD963A47E989D35E93); }; }; - rootObject = 1906C5F192A44C6284A9FC4C /* Project object */; + rootObject = 09A1B05AF84D4EF6862C4ACB /* Project object */; } diff --git a/native/ios/MatchLiveTv.xcodeproj/xcshareddata/xcschemes/MatchLiveTv.xcscheme b/native/ios/MatchLiveTv.xcodeproj/xcshareddata/xcschemes/MatchLiveTv.xcscheme index 3a0a6db..20671bd 100644 --- a/native/ios/MatchLiveTv.xcodeproj/xcshareddata/xcschemes/MatchLiveTv.xcscheme +++ b/native/ios/MatchLiveTv.xcodeproj/xcshareddata/xcschemes/MatchLiveTv.xcscheme @@ -3,28 +3,28 @@ - + - + - + - + - + diff --git a/native/ios/MatchLiveTv/Core/AppLanguage.swift b/native/ios/MatchLiveTv/Core/AppLanguage.swift index 3cf4b5b..3aa90c7 100644 --- a/native/ios/MatchLiveTv/Core/AppLanguage.swift +++ b/native/ios/MatchLiveTv/Core/AppLanguage.swift @@ -381,7 +381,7 @@ enum L10n { "account.save.password": "Update password", "account.save.profile": "Save profile", "account.title": "Account", - "forgot.password.lead": "Enter your account email: we'll send you a link to reset your password.", + "forgot.password.lead": "Enter your account email: we will send you a link to reset your password.", "forgot.password.submit": "Send reset link", "forgot.password.success": "If the email is registered, you will receive a password reset link shortly.", "forgot.password.title": "Forgot password", diff --git a/native/ios/MatchLiveTv/Resources/Info.plist b/native/ios/MatchLiveTv/Resources/Info.plist index 1bcc2d0..f43f856 100644 --- a/native/ios/MatchLiveTv/Resources/Info.plist +++ b/native/ios/MatchLiveTv/Resources/Info.plist @@ -19,7 +19,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 2.0.5 + 2.0.10 CFBundleURLTypes @@ -32,7 +32,7 @@ CFBundleVersion - 26 + 31 LSRequiresIPhoneOS NSCameraUsageDescription diff --git a/native/ios/generate_xcodeproj.py b/native/ios/generate_xcodeproj.py index 72e5735..8aa13ab 100755 --- a/native/ios/generate_xcodeproj.py +++ b/native/ios/generate_xcodeproj.py @@ -96,7 +96,7 @@ lines += [ app_settings = """ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 26; + CURRENT_PROJECT_VERSION = 31; GENERATE_INFOPLIST_FILE = NO; INFOPLIST_FILE = MatchLiveTv/Resources/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 16.0; @@ -107,7 +107,7 @@ app_settings = """ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 2.0.5; + MARKETING_VERSION = 2.0.10; PRODUCT_BUNDLE_IDENTIFIER = com.matchlivetv.match-live-tv; PRODUCT_NAME = "$(TARGET_NAME)"; API_BASE_URL = "https://www.matchlivetv.it"; @@ -122,10 +122,10 @@ app_debug_settings = app_settings + """ test_settings = """ BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 26; + CURRENT_PROJECT_VERSION = 31; GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 16.0; - MARKETING_VERSION = 2.0.5; + MARKETING_VERSION = 2.0.10; PRODUCT_BUNDLE_IDENTIFIER = com.matchlivetv.match-live-tv.tests; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos;