Add game center, per-model shuffle, audio focus fixes, README, tests

- README.md with build/architecture overview
- Game Center screen with at-bat timeline, pitch sequence, spray chart,
  and strike zone component views
- VideoShuffle service: per-model bucketed random selection with
  no-back-to-back guarantee; replaces flat shuffle-bag approach
- Refresh JWT token for authenticated NSFW feed; add josie-hamming-2
  and dani-speegle-2 to the user list
- MultiStreamView audio focus: remove redundant isMuted writes during
  startStream and playNextWerkoutClip so audio stops ducking during
  clip transitions; gate AVAudioSession.setCategory(.playback) behind
  a one-shot flag
- GamesViewModel.attachPlayer: skip mute recalculation when the same
  player is re-attached (prevents toggle flicker on item replace)
- mlbTVOSTests target wired through project.yml with
  GENERATE_INFOPLIST_FILE; VideoShuffleTests covers groupByModel,
  pickRandomFromBuckets, real-distribution no-back-to-back invariant,
  and uniform model distribution over 6000 picks

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Trey t
2026-04-11 11:02:46 -05:00
parent 58e4c36963
commit 88308b46f5
17 changed files with 2069 additions and 313 deletions

View File

@@ -7,147 +7,149 @@
objects = {
/* Begin PBXBuildFile section */
02BA6240A20E957B5337A545 /* Game.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ABC999C711B074CF0B536DD /* Game.swift */; };
051C3D14A06061D44E325FCC /* LinescoreView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 327A33F2676712C2B5B4AF2F /* LinescoreView.swift */; };
0653C2F5CC55F4234E8950E5 /* LiveIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81584770090BAFBEF3ABE6FD /* LiveIndicator.swift */; };
07BBD0E7B7F122213708A406 /* LeagueCenterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55E6F6797DA08FA657C04818 /* LeagueCenterView.swift */; };
08A22DE07ECE074D17D8A74E /* FeaturedGameCard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 102E5E8674E188A04637D3EB /* FeaturedGameCard.swift */; };
0B1C43E83CA856543F58E16A /* MultiStreamView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D10F2D91602CE1FB6D7342E /* MultiStreamView.swift */; };
11640185C392B0406BBE619D /* MLBServerAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70E610D24BA83FB2F7490B00 /* MLBServerAPI.swift */; };
1555D223058B858E4C6F419D /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FB99FBEDA096B95C3D2E5B4 /* ContentView.swift */; };
1AA11AA11AA11AA11AA11AA1 /* GameCenterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2BB22BB22BB22BB22BB22BB1 /* GameCenterView.swift */; };
1AA11AA11AA11AA11AA11AA2 /* LeagueCenterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2BB22BB22BB22BB22BB22BB2 /* LeagueCenterView.swift */; };
1AA11AA11AA11AA11AA11AA3 /* GameCenterViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2BB22BB22BB22BB22BB22BB3 /* GameCenterViewModel.swift */; };
1AA11AA11AA11AA11AA11AA4 /* LeagueCenterViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2BB22BB22BB22BB22BB22BB4 /* LeagueCenterViewModel.swift */; };
1E31C6F500CEEA5284081D22 /* MLBServerAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70E610D24BA83FB2F7490B00 /* MLBServerAPI.swift */; };
1E5405E1C27A16971961091C /* ScoreOverlayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5F6A7B8C9D0E1F2A3B4C5D6 /* ScoreOverlayView.swift */; };
22B1A4EB0E8E279B054FEC3E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E04B78C78BA9DA73B62AA3EE /* Foundation.framework */; };
24C6D5F4A3B291807F6E5D4C /* ScoresTickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24C6D5F4A3B291807F6E5D4B /* ScoresTickerView.swift */; };
20A122430083142C3C74AF5F /* TeamLogoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2E99F69727800D0CB795503 /* TeamLogoView.swift */; };
26AE6D91B829B233CEDAE7DF /* AtBatTimelineView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3D1C29BF9DF2B8F811368BC /* AtBatTimelineView.swift */; };
29627CA5EE85BA103B38D1F5 /* Game.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ABC999C711B074CF0B536DD /* Game.swift */; };
31353216A6288D986544F61E /* SettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DE9E708FA75ABB9F49D2392 /* SettingsView.swift */; };
2A6155FFEE85643ABDE4111A /* VideoShuffle.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3A003EA560655E4B2200DBE /* VideoShuffle.swift */; };
2B52AC228AE12CC671348964 /* SettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DE9E708FA75ABB9F49D2392 /* SettingsView.swift */; };
342EED600E1A5B4A3D083E50 /* TeamAssets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 645E77DD8183D54EFC97CFB5 /* TeamAssets.swift */; };
37BFF8231552B49E4775AA59 /* GamesViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BD2DEA6BBA55E86B2555099 /* GamesViewModel.swift */; };
3FB9BCB07B6DBFE6D1D2C523 /* GameCenterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2BB22BB22BB22BB22BB22BB1 /* GameCenterView.swift */; };
4318098424F9B3FF3B256EED /* LeagueCenterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2BB22BB22BB22BB22BB22BB2 /* LeagueCenterView.swift */; };
43AC37B4F957CDC3986F044A /* mlbIOSApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0209C78036DA08FA794D8D9 /* mlbIOSApp.swift */; };
43B16E04582A874E87514C30 /* mlbIOSRootView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F874FDD20F82AFEB475CD73 /* mlbIOSRootView.swift */; };
3679F9F4949C8B3B8D5D6E94 /* GameCenterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E80EF8B01452220FA6BCD9B2 /* GameCenterView.swift */; };
36E4F79F23EF867A100E924D /* PitchSequenceView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F13A88254E53AF5A4AAA2AA /* PitchSequenceView.swift */; };
468EB7F6EC98D83099E2C352 /* PlatformUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B4E350321B6673B42545860 /* PlatformUI.swift */; };
470E17740A5C54C6BF2C1C97 /* StrikeZoneView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E345FE2F997DC60C7A3E9158 /* StrikeZoneView.swift */; };
49B79787C58CA43F2C1F9A9C /* ScoreOverlayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60B7F01667B2EBFBDFC1BBF6 /* ScoreOverlayView.swift */; };
49FB2101E46F2DAD10BC6201 /* SprayChartView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B14F1577DCCDBEF7858E6BE5 /* SprayChartView.swift */; };
4CB947BC5B5ECF83EF84F7E4 /* LinescoreView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 327A33F2676712C2B5B4AF2F /* LinescoreView.swift */; };
4F67D44E9A36BED9CD8724CF /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FB99FBEDA096B95C3D2E5B4 /* ContentView.swift */; };
4FB2E354854C1408419634BB /* ScoresTickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 339D5F94415E8C018D384CDE /* ScoresTickerView.swift */; };
50D870AF95561129D706C411 /* GameListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B5D51D6E4990515411D3BCD /* GameListView.swift */; };
512148AC1C1F35F5CB688F98 /* DashboardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EA4C33F029665B80F1A6B6D /* DashboardView.swift */; };
52498A59FF923A1494A0139B /* GameListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B5D51D6E4990515411D3BCD /* GameListView.swift */; };
5A76A7BB97FFA089156A0ABA /* PlatformUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBA78A938A07E07B064CEA54 /* PlatformUI.swift */; };
58B5982C6D8DC6F41EAC5CCD /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7B361C2076C86F2EE841B2AB /* Assets.xcassets */; };
5DFD3805A76DDE49B0DC1E2D /* SingleStreamPlayerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA4AF68CDF4FC8D07194B4D0 /* SingleStreamPlayerView.swift */; };
5EBF83734395FCF7BCE1E26B /* MLBStatsAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6067FE4F340FC0DCCFA62C67 /* MLBStatsAPI.swift */; };
5ED9CAF1722802A4AD561617 /* mlbIOSRootView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4B8E51B59B366184CDCCED5 /* mlbIOSRootView.swift */; };
5F5AF9B045B8F2BA87CBECD3 /* ScoreOverlayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60B7F01667B2EBFBDFC1BBF6 /* ScoreOverlayView.swift */; };
63AF55498896C9BBCD1D4337 /* GameCardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E21E3115B8A9B4C798ECE828 /* GameCardView.swift */; };
7D2D21DAE73958578FE2E730 /* LeagueCenterViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2BB22BB22BB22BB22BB22BB4 /* LeagueCenterViewModel.swift */; };
65ABD3574B88BDDBB206B1DC /* GamesViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BD2DEA6BBA55E86B2555099 /* GamesViewModel.swift */; };
6CD8E1E4B6A4C5D0F0F9299E /* MultiStreamView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D10F2D91602CE1FB6D7342E /* MultiStreamView.swift */; };
6E502A815BB3C150E56E7E38 /* PlatformUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B4E350321B6673B42545860 /* PlatformUI.swift */; };
718E7200B5BBB22CB48C2EF8 /* mlbIOSApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CC4A28B180001C2A1B0BA5F /* mlbIOSApp.swift */; };
769DF65BBCC400691B98C71F /* AtBatTimelineView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3D1C29BF9DF2B8F811368BC /* AtBatTimelineView.swift */; };
80A690C52C9C8140E7C519E8 /* TeamLogoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2E99F69727800D0CB795503 /* TeamLogoView.swift */; };
820FB03D0E97C521BA239071 /* MLBNetworkSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5152ABCC9AACFD91BAC8C95B /* MLBNetworkSheet.swift */; };
82DEB54FF3BFD51A18ED98A1 /* MLBStatsAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6067FE4F340FC0DCCFA62C67 /* MLBStatsAPI.swift */; };
8D5FE07166FAD17836A0AFF4 /* PitcherHeadshotView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4E5F6A7B8C9D0E1F2A3B4C5 /* PitcherHeadshotView.swift */; };
8649D4F513A663D2493D91C9 /* LeagueCenterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55E6F6797DA08FA657C04818 /* LeagueCenterView.swift */; };
8801888DFD48351B1D344D45 /* MLBServerAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70E610D24BA83FB2F7490B00 /* MLBServerAPI.swift */; };
8E2F3FAAE778FE6F44C0B5D5 /* PitcherHeadshotView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6E303B753C604504C2762C7 /* PitcherHeadshotView.swift */; };
95046231282AA1B67F4B5A8D /* SprayChartView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B14F1577DCCDBEF7858E6BE5 /* SprayChartView.swift */; };
9525FA984562C90A677AD453 /* GameCenterViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5DA48863884BB6B4983BEE6 /* GameCenterViewModel.swift */; };
96250318C3F0491D095DDAA9 /* ScoresTickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 339D5F94415E8C018D384CDE /* ScoresTickerView.swift */; };
9D29D3508CD05CB3F4975910 /* GamesViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BD2DEA6BBA55E86B2555099 /* GamesViewModel.swift */; };
A1B2C3D4E5F60718091A2B3C /* PitcherHeadshotView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4E5F6A7B8C9D0E1F2A3B4C5 /* PitcherHeadshotView.swift */; };
A506FDC86C3A78F4A2C04C10 /* GameListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B5D51D6E4990515411D3BCD /* GameListView.swift */; };
AFA76F6EBE7977914A849447 /* FeaturedGameCard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 102E5E8674E188A04637D3EB /* FeaturedGameCard.swift */; };
B215941F5A269C59C0939958 /* TeamLogoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2E99F69727800D0CB795503 /* TeamLogoView.swift */; };
B2C3D4E5F6A70819A1B2C3D4 /* ScoreOverlayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5F6A7B8C9D0E1F2A3B4C5D6 /* ScoreOverlayView.swift */; };
B921B07F43A13CBBDE9C499D /* GameCardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E21E3115B8A9B4C798ECE828 /* GameCardView.swift */; };
BA1B3240360F79FE2DF42543 /* LinescoreView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 327A33F2676712C2B5B4AF2F /* LinescoreView.swift */; };
BB48CC4C732672536CD5EF96 /* TeamAssets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 645E77DD8183D54EFC97CFB5 /* TeamAssets.swift */; };
A70F5B83F079279CF2B41FCE /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FB99FBEDA096B95C3D2E5B4 /* ContentView.swift */; };
A7195DD696E4C07218D74F19 /* PitcherHeadshotView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6E303B753C604504C2762C7 /* PitcherHeadshotView.swift */; };
AAD1562E79743AA0B09CB857 /* GameCardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E21E3115B8A9B4C798ECE828 /* GameCardView.swift */; };
ACEB18A23D20F79AA757DD63 /* Game.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ABC999C711B074CF0B536DD /* Game.swift */; };
AEE0045C962DDF789E61429B /* TeamAssets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 645E77DD8183D54EFC97CFB5 /* TeamAssets.swift */; };
AF6279D4B9E386009C27EC23 /* VideoShuffleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A5568E639232B59AEB84FD4 /* VideoShuffleTests.swift */; };
B0A9FFD5C20A80E16532CC91 /* LeagueCenterViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E9E572D932D96FE2C5BD7A4 /* LeagueCenterViewModel.swift */; };
B345E89FC7B8C263B067E082 /* GameCenterViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5DA48863884BB6B4983BEE6 /* GameCenterViewModel.swift */; };
B730E81141D5686CD7C6DE4F /* VideoShuffle.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3A003EA560655E4B2200DBE /* VideoShuffle.swift */; };
C1DA213471DC246B8DF3F840 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = AC5BCB2E1DA0EC63E422B113 /* Assets.xcassets */; };
C67442678865108796537BBC /* GameCenterViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2BB22BB22BB22BB22BB22BB3 /* GameCenterViewModel.swift */; };
CA20CF293D75E6058E0CB78C /* SingleStreamPlayerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA4AF68CDF4FC8D07194B4D0 /* SingleStreamPlayerView.swift */; };
D199D622D64E3489E049B04A /* LiveIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81584770090BAFBEF3ABE6FD /* LiveIndicator.swift */; };
D48041F6CFBCEB2F3492747F /* MultiStreamView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D10F2D91602CE1FB6D7342E /* MultiStreamView.swift */; };
DA156E98ACD90B582F3BBAB2 /* PlatformUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBA78A938A07E07B064CEA54 /* PlatformUI.swift */; };
DB6E6A4890D0D22526DA5D96 /* ScoresTickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24C6D5F4A3B291807F6E5D4B /* ScoresTickerView.swift */; };
D688F6B0680C29AECD289CA9 /* SingleStreamPlayerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA4AF68CDF4FC8D07194B4D0 /* SingleStreamPlayerView.swift */; };
D864A2844FD222A04B48F6EF /* MLBNetworkSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5152ABCC9AACFD91BAC8C95B /* MLBNetworkSheet.swift */; };
DC37555DE8C367E929974484 /* MLBStatsAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6067FE4F340FC0DCCFA62C67 /* MLBStatsAPI.swift */; };
E42B27D852AB037246167C23 /* LeagueCenterViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E9E572D932D96FE2C5BD7A4 /* LeagueCenterViewModel.swift */; };
E6A3D6E740DBE329B8EAD531 /* StrikeZoneView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E345FE2F997DC60C7A3E9158 /* StrikeZoneView.swift */; };
E7FB366456557069990F550C /* LiveIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81584770090BAFBEF3ABE6FD /* LiveIndicator.swift */; };
E96459544473FC4A3CD92B4F /* GameCenterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E80EF8B01452220FA6BCD9B2 /* GameCenterView.swift */; };
F096F11642B32BF240C367A5 /* PitchSequenceView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F13A88254E53AF5A4AAA2AA /* PitchSequenceView.swift */; };
F36A71E407BC707B8E03457D /* DashboardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EA4C33F029665B80F1A6B6D /* DashboardView.swift */; };
F60F24246B08223DC2BA5825 /* DashboardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EA4C33F029665B80F1A6B6D /* DashboardView.swift */; };
F761076F826FEB86E972D516 /* MLBNetworkSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5152ABCC9AACFD91BAC8C95B /* MLBNetworkSheet.swift */; };
FAFA9B29273C4D8A54CD5916 /* FeaturedGameCard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 102E5E8674E188A04637D3EB /* FeaturedGameCard.swift */; };
FD31074216AC0115B3F1C057 /* mlbTVOSApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45142562E644AF04F7719083 /* mlbTVOSApp.swift */; };
FD9322BED3A2B827CB021163 /* SettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DE9E708FA75ABB9F49D2392 /* SettingsView.swift */; };
FE80BDA15CC8CE2F18DB4883 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 56358D0D5DC5CC531034287F /* Assets.xcassets */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
BB037F390E873F3105CC93DC /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 89437C3F6A1DA0DA4ADEA3AB /* Project object */;
proxyType = 1;
remoteGlobalIDString = 6ACA532AEDED1D5945D6153A;
remoteInfo = mlbTVOS;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
0B5D51D6E4990515411D3BCD /* GameListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameListView.swift; sourceTree = "<group>"; };
0FE1BD4A8517243AFABE371C /* mlbIOS.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = mlbIOS.app; sourceTree = BUILT_PRODUCTS_DIR; };
102E5E8674E188A04637D3EB /* FeaturedGameCard.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeaturedGameCard.swift; sourceTree = "<group>"; };
166FABBD2D739048BB1A86A6 /* mlbIOS.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = mlbIOS.entitlements; sourceTree = "<group>"; };
1ABC999C711B074CF0B536DD /* Game.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Game.swift; sourceTree = "<group>"; };
24B58FDA7A8CA27BC512CBA6 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
24C6D5F4A3B291807F6E5D4B /* ScoresTickerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScoresTickerView.swift; sourceTree = "<group>"; };
2BB22BB22BB22BB22BB22BB1 /* GameCenterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameCenterView.swift; sourceTree = "<group>"; };
2BB22BB22BB22BB22BB22BB2 /* LeagueCenterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LeagueCenterView.swift; sourceTree = "<group>"; };
2BB22BB22BB22BB22BB22BB3 /* GameCenterViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameCenterViewModel.swift; sourceTree = "<group>"; };
2BB22BB22BB22BB22BB22BB4 /* LeagueCenterViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LeagueCenterViewModel.swift; sourceTree = "<group>"; };
2CC4A28B180001C2A1B0BA5F /* mlbIOSApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = mlbIOSApp.swift; sourceTree = "<group>"; };
327A33F2676712C2B5B4AF2F /* LinescoreView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinescoreView.swift; sourceTree = "<group>"; };
3F874FDD20F82AFEB475CD73 /* mlbIOSRootView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = mlbIOSRootView.swift; sourceTree = "<group>"; };
339D5F94415E8C018D384CDE /* ScoresTickerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScoresTickerView.swift; sourceTree = "<group>"; };
3FB99FBEDA096B95C3D2E5B4 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
45142562E644AF04F7719083 /* mlbTVOSApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = mlbTVOSApp.swift; sourceTree = "<group>"; };
4DE9E708FA75ABB9F49D2392 /* SettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = "<group>"; };
5152ABCC9AACFD91BAC8C95B /* MLBNetworkSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MLBNetworkSheet.swift; sourceTree = "<group>"; };
55A3DC0B5087BAD6BC59B35A /* mlbIOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = mlbIOS.app; sourceTree = BUILT_PRODUCTS_DIR; };
56358D0D5DC5CC531034287F /* Assets.xcassets */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
55E6F6797DA08FA657C04818 /* LeagueCenterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LeagueCenterView.swift; sourceTree = "<group>"; };
5EA4C33F029665B80F1A6B6D /* DashboardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DashboardView.swift; sourceTree = "<group>"; };
6067FE4F340FC0DCCFA62C67 /* MLBStatsAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MLBStatsAPI.swift; sourceTree = "<group>"; };
60B7F01667B2EBFBDFC1BBF6 /* ScoreOverlayView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScoreOverlayView.swift; sourceTree = "<group>"; };
645E77DD8183D54EFC97CFB5 /* TeamAssets.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TeamAssets.swift; sourceTree = "<group>"; };
6FE64B2FA917EF98B16A3286 /* mlbTVOSTests.xctest */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.cfbundle; path = mlbTVOSTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
70E610D24BA83FB2F7490B00 /* MLBServerAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MLBServerAPI.swift; sourceTree = "<group>"; };
766441BC900073529EE93D69 /* mlbTVOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = mlbTVOS.app; sourceTree = BUILT_PRODUCTS_DIR; };
7B361C2076C86F2EE841B2AB /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
7E9E572D932D96FE2C5BD7A4 /* LeagueCenterViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LeagueCenterViewModel.swift; sourceTree = "<group>"; };
7F13A88254E53AF5A4AAA2AA /* PitchSequenceView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PitchSequenceView.swift; sourceTree = "<group>"; };
81584770090BAFBEF3ABE6FD /* LiveIndicator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LiveIndicator.swift; sourceTree = "<group>"; };
8A5568E639232B59AEB84FD4 /* VideoShuffleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VideoShuffleTests.swift; sourceTree = "<group>"; };
8B4E350321B6673B42545860 /* PlatformUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlatformUI.swift; sourceTree = "<group>"; };
8D10F2D91602CE1FB6D7342E /* MultiStreamView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MultiStreamView.swift; sourceTree = "<group>"; };
95C4DEDEAA64C74AF3DB24F2 /* mlbIOS.entitlements */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.entitlements; path = mlbIOS.entitlements; sourceTree = "<group>"; };
9BD2DEA6BBA55E86B2555099 /* GamesViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GamesViewModel.swift; sourceTree = "<group>"; };
A6FE9AFE34BB8CE4F33B62D0 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
AC5BCB2E1DA0EC63E422B113 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
BBA78A938A07E07B064CEA54 /* PlatformUI.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PlatformUI.swift; sourceTree = "<group>"; };
B14F1577DCCDBEF7858E6BE5 /* SprayChartView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SprayChartView.swift; sourceTree = "<group>"; };
B4B8E51B59B366184CDCCED5 /* mlbIOSRootView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = mlbIOSRootView.swift; sourceTree = "<group>"; };
C1F593C51BC11444A3D514D3 /* mlbTVOS.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = mlbTVOS.entitlements; sourceTree = "<group>"; };
C2E99F69727800D0CB795503 /* TeamLogoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TeamLogoView.swift; sourceTree = "<group>"; };
D4E5F6A7B8C9D0E1F2A3B4C5 /* PitcherHeadshotView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PitcherHeadshotView.swift; sourceTree = "<group>"; };
E04B78C78BA9DA73B62AA3EE /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
C3A003EA560655E4B2200DBE /* VideoShuffle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VideoShuffle.swift; sourceTree = "<group>"; };
C3D1C29BF9DF2B8F811368BC /* AtBatTimelineView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AtBatTimelineView.swift; sourceTree = "<group>"; };
C6E303B753C604504C2762C7 /* PitcherHeadshotView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PitcherHeadshotView.swift; sourceTree = "<group>"; };
E21E3115B8A9B4C798ECE828 /* GameCardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameCardView.swift; sourceTree = "<group>"; };
E5F6A7B8C9D0E1F2A3B4C5D6 /* ScoreOverlayView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScoreOverlayView.swift; sourceTree = "<group>"; };
F0209C78036DA08FA794D8D9 /* mlbIOSApp.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = mlbIOSApp.swift; sourceTree = "<group>"; };
E345FE2F997DC60C7A3E9158 /* StrikeZoneView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StrikeZoneView.swift; sourceTree = "<group>"; };
E462EB259532ADD83A9534B5 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
E80EF8B01452220FA6BCD9B2 /* GameCenterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameCenterView.swift; sourceTree = "<group>"; };
F5DA48863884BB6B4983BEE6 /* GameCenterViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameCenterViewModel.swift; sourceTree = "<group>"; };
FA4AF68CDF4FC8D07194B4D0 /* SingleStreamPlayerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SingleStreamPlayerView.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
EF6C5375C48E5C8359230651 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
22B1A4EB0E8E279B054FEC3E /* Foundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
0B56828FEC5E5902FE078143 /* iOS */ = {
isa = PBXGroup;
children = (
E04B78C78BA9DA73B62AA3EE /* Foundation.framework */,
);
name = iOS;
sourceTree = "<group>";
};
1646E84AFB7C540A2D228B64 /* mlbIOS */ = {
isa = PBXGroup;
children = (
96E8DA91A0CDD10D8953C8BA /* Views */,
A6FE9AFE34BB8CE4F33B62D0 /* Info.plist */,
95C4DEDEAA64C74AF3DB24F2 /* mlbIOS.entitlements */,
56358D0D5DC5CC531034287F /* Assets.xcassets */,
F0209C78036DA08FA794D8D9 /* mlbIOSApp.swift */,
);
name = mlbIOS;
path = mlbIOS;
sourceTree = "<group>";
};
2C171EA64FFA962254F20583 /* ViewModels */ = {
isa = PBXGroup;
children = (
2BB22BB22BB22BB22BB22BB3 /* GameCenterViewModel.swift */,
F5DA48863884BB6B4983BEE6 /* GameCenterViewModel.swift */,
9BD2DEA6BBA55E86B2555099 /* GamesViewModel.swift */,
2BB22BB22BB22BB22BB22BB4 /* LeagueCenterViewModel.swift */,
7E9E572D932D96FE2C5BD7A4 /* LeagueCenterViewModel.swift */,
);
path = ViewModels;
sourceTree = "<group>";
};
2C7BE69056BC157DD7B0EA69 /* Views */ = {
isa = PBXGroup;
children = (
B4B8E51B59B366184CDCCED5 /* mlbIOSRootView.swift */,
);
path = Views;
sourceTree = "<group>";
};
4FAE5C2D72CD78BF7C15C4FC /* mlbTVOS */ = {
isa = PBXGroup;
children = (
@@ -163,61 +165,70 @@
path = mlbTVOS;
sourceTree = "<group>";
};
5AE491A6B2C1767EFEF5CE88 /* Frameworks */ = {
isa = PBXGroup;
children = (
0B56828FEC5E5902FE078143 /* iOS */,
);
name = Frameworks;
sourceTree = "<group>";
};
62F95C3E8B0F6AFE3BEDE9C3 /* Components */ = {
isa = PBXGroup;
children = (
C3D1C29BF9DF2B8F811368BC /* AtBatTimelineView.swift */,
327A33F2676712C2B5B4AF2F /* LinescoreView.swift */,
81584770090BAFBEF3ABE6FD /* LiveIndicator.swift */,
D4E5F6A7B8C9D0E1F2A3B4C5 /* PitcherHeadshotView.swift */,
24C6D5F4A3B291807F6E5D4B /* ScoresTickerView.swift */,
E5F6A7B8C9D0E1F2A3B4C5D6 /* ScoreOverlayView.swift */,
C6E303B753C604504C2762C7 /* PitcherHeadshotView.swift */,
7F13A88254E53AF5A4AAA2AA /* PitchSequenceView.swift */,
8B4E350321B6673B42545860 /* PlatformUI.swift */,
60B7F01667B2EBFBDFC1BBF6 /* ScoreOverlayView.swift */,
339D5F94415E8C018D384CDE /* ScoresTickerView.swift */,
B14F1577DCCDBEF7858E6BE5 /* SprayChartView.swift */,
E345FE2F997DC60C7A3E9158 /* StrikeZoneView.swift */,
C2E99F69727800D0CB795503 /* TeamLogoView.swift */,
BBA78A938A07E07B064CEA54 /* PlatformUI.swift */,
);
path = Components;
sourceTree = "<group>";
};
6CCF8450F0096AAE94F8E0EF /* mlbIOS */ = {
isa = PBXGroup;
children = (
7B361C2076C86F2EE841B2AB /* Assets.xcassets */,
E462EB259532ADD83A9534B5 /* Info.plist */,
166FABBD2D739048BB1A86A6 /* mlbIOS.entitlements */,
2CC4A28B180001C2A1B0BA5F /* mlbIOSApp.swift */,
2C7BE69056BC157DD7B0EA69 /* Views */,
);
path = mlbIOS;
sourceTree = "<group>";
};
6DA200592E30D8963373A30C /* mlbTVOSTests */ = {
isa = PBXGroup;
children = (
8A5568E639232B59AEB84FD4 /* VideoShuffleTests.swift */,
);
path = mlbTVOSTests;
sourceTree = "<group>";
};
86C1117ADD32A1A57AA32A08 = {
isa = PBXGroup;
children = (
6CCF8450F0096AAE94F8E0EF /* mlbIOS */,
4FAE5C2D72CD78BF7C15C4FC /* mlbTVOS */,
6DA200592E30D8963373A30C /* mlbTVOSTests */,
88274023705E1F09B25F86FF /* Products */,
1646E84AFB7C540A2D228B64 /* mlbIOS */,
5AE491A6B2C1767EFEF5CE88 /* Frameworks */,
);
sourceTree = "<group>";
};
88274023705E1F09B25F86FF /* Products */ = {
isa = PBXGroup;
children = (
0FE1BD4A8517243AFABE371C /* mlbIOS.app */,
766441BC900073529EE93D69 /* mlbTVOS.app */,
55A3DC0B5087BAD6BC59B35A /* mlbIOS.app */,
6FE64B2FA917EF98B16A3286 /* mlbTVOSTests.xctest */,
);
name = Products;
sourceTree = "<group>";
};
96E8DA91A0CDD10D8953C8BA /* Views */ = {
isa = PBXGroup;
children = (
3F874FDD20F82AFEB475CD73 /* mlbIOSRootView.swift */,
);
name = Views;
path = Views;
sourceTree = "<group>";
};
C6DC4CC5AAB9AF84D3CB9F3B /* Services */ = {
isa = PBXGroup;
children = (
70E610D24BA83FB2F7490B00 /* MLBServerAPI.swift */,
6067FE4F340FC0DCCFA62C67 /* MLBStatsAPI.swift */,
C3A003EA560655E4B2200DBE /* VideoShuffle.swift */,
);
path = Services;
sourceTree = "<group>";
@@ -229,9 +240,9 @@
5EA4C33F029665B80F1A6B6D /* DashboardView.swift */,
102E5E8674E188A04637D3EB /* FeaturedGameCard.swift */,
E21E3115B8A9B4C798ECE828 /* GameCardView.swift */,
2BB22BB22BB22BB22BB22BB1 /* GameCenterView.swift */,
E80EF8B01452220FA6BCD9B2 /* GameCenterView.swift */,
0B5D51D6E4990515411D3BCD /* GameListView.swift */,
2BB22BB22BB22BB22BB22BB2 /* LeagueCenterView.swift */,
55E6F6797DA08FA657C04818 /* LeagueCenterView.swift */,
5152ABCC9AACFD91BAC8C95B /* MLBNetworkSheet.swift */,
8D10F2D91602CE1FB6D7342E /* MultiStreamView.swift */,
4DE9E708FA75ABB9F49D2392 /* SettingsView.swift */,
@@ -253,6 +264,42 @@
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
3A9B7B05A37413FD435D907D /* mlbIOS */ = {
isa = PBXNativeTarget;
buildConfigurationList = 7E61CD36E6F461F6012C8AEC /* Build configuration list for PBXNativeTarget "mlbIOS" */;
buildPhases = (
161A48F0EE45E1D49E1ADD61 /* Sources */,
AF3410DF4206295AA0FDC9F7 /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = mlbIOS;
packageProductDependencies = (
);
productName = mlbIOS;
productReference = 0FE1BD4A8517243AFABE371C /* mlbIOS.app */;
productType = "com.apple.product-type.application";
};
3B0B3D1BD19FB0B2F845FE00 /* mlbTVOSTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = E19144DDC167AFC338BA9481 /* Build configuration list for PBXNativeTarget "mlbTVOSTests" */;
buildPhases = (
ABB29E457F4A3E72130EE536 /* Sources */,
);
buildRules = (
);
dependencies = (
540BB52ABCD2F688E02B1982 /* PBXTargetDependency */,
);
name = mlbTVOSTests;
packageProductDependencies = (
);
productName = mlbTVOSTests;
productReference = 6FE64B2FA917EF98B16A3286 /* mlbTVOSTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
6ACA532AEDED1D5945D6153A /* mlbTVOS */ = {
isa = PBXNativeTarget;
buildConfigurationList = 36D4353993A0A22378BC4770 /* Build configuration list for PBXNativeTarget "mlbTVOS" */;
@@ -265,27 +312,12 @@
dependencies = (
);
name = mlbTVOS;
packageProductDependencies = (
);
productName = mlbTVOS;
productReference = 766441BC900073529EE93D69 /* mlbTVOS.app */;
productType = "com.apple.product-type.application";
};
9C5FE08A60985D23E089CEE5 /* mlbIOS */ = {
isa = PBXNativeTarget;
buildConfigurationList = 67C1F966BDD84456877DC373 /* Build configuration list for PBXNativeTarget "mlbIOS" */;
buildPhases = (
9386CC819A80738E79744F6A /* Sources */,
EF6C5375C48E5C8359230651 /* Frameworks */,
3CEE2E3AB4AAF6D8CC0F12D7 /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = mlbIOS;
productName = mlbIOS;
productReference = 55A3DC0B5087BAD6BC59B35A /* mlbIOS.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
@@ -294,6 +326,14 @@
attributes = {
BuildIndependentTargetsInParallel = YES;
LastUpgradeCheck = 2630;
TargetAttributes = {
3A9B7B05A37413FD435D907D = {
DevelopmentTeam = "";
};
3B0B3D1BD19FB0B2F845FE00 = {
DevelopmentTeam = "";
};
};
};
buildConfigurationList = B8EE3C08200DF28CFF279E15 /* Build configuration list for PBXProject "mlbTVOS" */;
compatibilityVersion = "Xcode 14.0";
@@ -305,25 +345,17 @@
);
mainGroup = 86C1117ADD32A1A57AA32A08;
minimizedProjectReferenceProxies = 1;
productRefGroup = 88274023705E1F09B25F86FF /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
3A9B7B05A37413FD435D907D /* mlbIOS */,
6ACA532AEDED1D5945D6153A /* mlbTVOS */,
9C5FE08A60985D23E089CEE5 /* mlbIOS */,
3B0B3D1BD19FB0B2F845FE00 /* mlbTVOSTests */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
3CEE2E3AB4AAF6D8CC0F12D7 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
FE80BDA15CC8CE2F18DB4883 /* Assets.xcassets in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
5C7F99E1451B54AD3CC382CB /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
@@ -332,40 +364,61 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
AF3410DF4206295AA0FDC9F7 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
58B5982C6D8DC6F41EAC5CCD /* Assets.xcassets in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
9386CC819A80738E79744F6A /* Sources */ = {
161A48F0EE45E1D49E1ADD61 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
02BA6240A20E957B5337A545 /* Game.swift in Sources */,
BB48CC4C732672536CD5EF96 /* TeamAssets.swift in Sources */,
11640185C392B0406BBE619D /* MLBServerAPI.swift in Sources */,
82DEB54FF3BFD51A18ED98A1 /* MLBStatsAPI.swift in Sources */,
C67442678865108796537BBC /* GameCenterViewModel.swift in Sources */,
37BFF8231552B49E4775AA59 /* GamesViewModel.swift in Sources */,
7D2D21DAE73958578FE2E730 /* LeagueCenterViewModel.swift in Sources */,
BA1B3240360F79FE2DF42543 /* LinescoreView.swift in Sources */,
D199D622D64E3489E049B04A /* LiveIndicator.swift in Sources */,
8D5FE07166FAD17836A0AFF4 /* PitcherHeadshotView.swift in Sources */,
DA156E98ACD90B582F3BBAB2 /* PlatformUI.swift in Sources */,
1E5405E1C27A16971961091C /* ScoreOverlayView.swift in Sources */,
DB6E6A4890D0D22526DA5D96 /* ScoresTickerView.swift in Sources */,
B215941F5A269C59C0939958 /* TeamLogoView.swift in Sources */,
1555D223058B858E4C6F419D /* ContentView.swift in Sources */,
F60F24246B08223DC2BA5825 /* DashboardView.swift in Sources */,
AFA76F6EBE7977914A849447 /* FeaturedGameCard.swift in Sources */,
B921B07F43A13CBBDE9C499D /* GameCardView.swift in Sources */,
3FB9BCB07B6DBFE6D1D2C523 /* GameCenterView.swift in Sources */,
A506FDC86C3A78F4A2C04C10 /* GameListView.swift in Sources */,
4318098424F9B3FF3B256EED /* LeagueCenterView.swift in Sources */,
F761076F826FEB86E972D516 /* MLBNetworkSheet.swift in Sources */,
D48041F6CFBCEB2F3492747F /* MultiStreamView.swift in Sources */,
31353216A6288D986544F61E /* SettingsView.swift in Sources */,
CA20CF293D75E6058E0CB78C /* SingleStreamPlayerView.swift in Sources */,
43AC37B4F957CDC3986F044A /* mlbIOSApp.swift in Sources */,
43B16E04582A874E87514C30 /* mlbIOSRootView.swift in Sources */,
26AE6D91B829B233CEDAE7DF /* AtBatTimelineView.swift in Sources */,
A70F5B83F079279CF2B41FCE /* ContentView.swift in Sources */,
512148AC1C1F35F5CB688F98 /* DashboardView.swift in Sources */,
08A22DE07ECE074D17D8A74E /* FeaturedGameCard.swift in Sources */,
ACEB18A23D20F79AA757DD63 /* Game.swift in Sources */,
AAD1562E79743AA0B09CB857 /* GameCardView.swift in Sources */,
E96459544473FC4A3CD92B4F /* GameCenterView.swift in Sources */,
B345E89FC7B8C263B067E082 /* GameCenterViewModel.swift in Sources */,
50D870AF95561129D706C411 /* GameListView.swift in Sources */,
65ABD3574B88BDDBB206B1DC /* GamesViewModel.swift in Sources */,
8649D4F513A663D2493D91C9 /* LeagueCenterView.swift in Sources */,
E42B27D852AB037246167C23 /* LeagueCenterViewModel.swift in Sources */,
4CB947BC5B5ECF83EF84F7E4 /* LinescoreView.swift in Sources */,
0653C2F5CC55F4234E8950E5 /* LiveIndicator.swift in Sources */,
D864A2844FD222A04B48F6EF /* MLBNetworkSheet.swift in Sources */,
8801888DFD48351B1D344D45 /* MLBServerAPI.swift in Sources */,
5EBF83734395FCF7BCE1E26B /* MLBStatsAPI.swift in Sources */,
6CD8E1E4B6A4C5D0F0F9299E /* MultiStreamView.swift in Sources */,
36E4F79F23EF867A100E924D /* PitchSequenceView.swift in Sources */,
8E2F3FAAE778FE6F44C0B5D5 /* PitcherHeadshotView.swift in Sources */,
6E502A815BB3C150E56E7E38 /* PlatformUI.swift in Sources */,
49B79787C58CA43F2C1F9A9C /* ScoreOverlayView.swift in Sources */,
96250318C3F0491D095DDAA9 /* ScoresTickerView.swift in Sources */,
2B52AC228AE12CC671348964 /* SettingsView.swift in Sources */,
D688F6B0680C29AECD289CA9 /* SingleStreamPlayerView.swift in Sources */,
95046231282AA1B67F4B5A8D /* SprayChartView.swift in Sources */,
E6A3D6E740DBE329B8EAD531 /* StrikeZoneView.swift in Sources */,
AEE0045C962DDF789E61429B /* TeamAssets.swift in Sources */,
20A122430083142C3C74AF5F /* TeamLogoView.swift in Sources */,
B730E81141D5686CD7C6DE4F /* VideoShuffle.swift in Sources */,
718E7200B5BBB22CB48C2EF8 /* mlbIOSApp.swift in Sources */,
5ED9CAF1722802A4AD561617 /* mlbIOSRootView.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
ABB29E457F4A3E72130EE536 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
AF6279D4B9E386009C27EC23 /* VideoShuffleTests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -373,37 +426,50 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
769DF65BBCC400691B98C71F /* AtBatTimelineView.swift in Sources */,
4F67D44E9A36BED9CD8724CF /* ContentView.swift in Sources */,
F36A71E407BC707B8E03457D /* DashboardView.swift in Sources */,
FAFA9B29273C4D8A54CD5916 /* FeaturedGameCard.swift in Sources */,
29627CA5EE85BA103B38D1F5 /* Game.swift in Sources */,
63AF55498896C9BBCD1D4337 /* GameCardView.swift in Sources */,
1AA11AA11AA11AA11AA11AA1 /* GameCenterView.swift in Sources */,
1AA11AA11AA11AA11AA11AA3 /* GameCenterViewModel.swift in Sources */,
3679F9F4949C8B3B8D5D6E94 /* GameCenterView.swift in Sources */,
9525FA984562C90A677AD453 /* GameCenterViewModel.swift in Sources */,
52498A59FF923A1494A0139B /* GameListView.swift in Sources */,
9D29D3508CD05CB3F4975910 /* GamesViewModel.swift in Sources */,
1AA11AA11AA11AA11AA11AA2 /* LeagueCenterView.swift in Sources */,
1AA11AA11AA11AA11AA11AA4 /* LeagueCenterViewModel.swift in Sources */,
07BBD0E7B7F122213708A406 /* LeagueCenterView.swift in Sources */,
B0A9FFD5C20A80E16532CC91 /* LeagueCenterViewModel.swift in Sources */,
051C3D14A06061D44E325FCC /* LinescoreView.swift in Sources */,
E7FB366456557069990F550C /* LiveIndicator.swift in Sources */,
820FB03D0E97C521BA239071 /* MLBNetworkSheet.swift in Sources */,
1E31C6F500CEEA5284081D22 /* MLBServerAPI.swift in Sources */,
DC37555DE8C367E929974484 /* MLBStatsAPI.swift in Sources */,
0B1C43E83CA856543F58E16A /* MultiStreamView.swift in Sources */,
A1B2C3D4E5F60718091A2B3C /* PitcherHeadshotView.swift in Sources */,
24C6D5F4A3B291807F6E5D4C /* ScoresTickerView.swift in Sources */,
B2C3D4E5F6A70819A1B2C3D4 /* ScoreOverlayView.swift in Sources */,
F096F11642B32BF240C367A5 /* PitchSequenceView.swift in Sources */,
A7195DD696E4C07218D74F19 /* PitcherHeadshotView.swift in Sources */,
468EB7F6EC98D83099E2C352 /* PlatformUI.swift in Sources */,
5F5AF9B045B8F2BA87CBECD3 /* ScoreOverlayView.swift in Sources */,
4FB2E354854C1408419634BB /* ScoresTickerView.swift in Sources */,
FD9322BED3A2B827CB021163 /* SettingsView.swift in Sources */,
5DFD3805A76DDE49B0DC1E2D /* SingleStreamPlayerView.swift in Sources */,
49FB2101E46F2DAD10BC6201 /* SprayChartView.swift in Sources */,
470E17740A5C54C6BF2C1C97 /* StrikeZoneView.swift in Sources */,
342EED600E1A5B4A3D083E50 /* TeamAssets.swift in Sources */,
80A690C52C9C8140E7C519E8 /* TeamLogoView.swift in Sources */,
2A6155FFEE85643ABDE4111A /* VideoShuffle.swift in Sources */,
FD31074216AC0115B3F1C057 /* mlbTVOSApp.swift in Sources */,
5A76A7BB97FFA089156A0ABA /* PlatformUI.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
540BB52ABCD2F688E02B1982 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 6ACA532AEDED1D5945D6153A /* mlbTVOS */;
targetProxy = BB037F390E873F3105CC93DC /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
0AEA011CF6D6485B876BC988 /* Debug */ = {
isa = XCBuildConfiguration;
@@ -457,11 +523,11 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 18.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = appletvos;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 6.0;
@@ -469,53 +535,6 @@
};
name = Debug;
};
0D8A815004F8CC601240D2DB /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CLANG_ENABLE_OBJC_WEAK = NO;
CODE_SIGN_ENTITLEMENTS = mlbIOS/mlbIOS.entitlements;
DEVELOPMENT_TEAM = "";
INFOPLIST_FILE = mlbIOS/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 18.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.treyt.mlbIOS;
PRODUCT_NAME = mlbIOS;
SDKROOT = iphoneos;
SWIFT_STRICT_CONCURRENCY = complete;
SWIFT_VERSION = 6.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
1FC82661BC31026C62934BD7 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CLANG_ENABLE_OBJC_WEAK = NO;
CODE_SIGN_ENTITLEMENTS = mlbIOS/mlbIOS.entitlements;
DEVELOPMENT_TEAM = "";
INFOPLIST_FILE = mlbIOS/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 18.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.treyt.mlbIOS;
PRODUCT_NAME = mlbIOS;
SDKROOT = iphoneos;
SWIFT_STRICT_CONCURRENCY = complete;
SWIFT_VERSION = 6.0;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
name = Release;
};
1FE0846F10814B35388166A8 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
@@ -581,10 +600,10 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 18.0;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = appletvos;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
SWIFT_VERSION = 6.0;
@@ -592,6 +611,78 @@
};
name = Release;
};
75DEC3365E4FE5397DBA6D23 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = mlbIOS/mlbIOS.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
INFOPLIST_FILE = mlbIOS/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.treyt.mlbIOS;
SDKROOT = iphoneos;
SWIFT_STRICT_CONCURRENCY = complete;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
766EF2A8A8F5ABA868469554 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
GENERATE_INFOPLIST_FILE = YES;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.treyt.mlbTVOSTests;
SDKROOT = appletvos;
SWIFT_STRICT_CONCURRENCY = complete;
TARGETED_DEVICE_FAMILY = 3;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/mlbTVOS.app/mlbTVOS";
};
name = Debug;
};
91415A3F240ADBD891F74114 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
GENERATE_INFOPLIST_FILE = YES;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.treyt.mlbTVOSTests;
SDKROOT = appletvos;
SWIFT_STRICT_CONCURRENCY = complete;
TARGETED_DEVICE_FAMILY = 3;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/mlbTVOS.app/mlbTVOS";
};
name = Release;
};
D7E3D2E659BC9B3A584585FE /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = mlbIOS/mlbIOS.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
INFOPLIST_FILE = mlbIOS/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.treyt.mlbIOS;
SDKROOT = iphoneos;
SWIFT_STRICT_CONCURRENCY = complete;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
F266D26959D831BC0C0C782C /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
@@ -623,14 +714,14 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
67C1F966BDD84456877DC373 /* Build configuration list for PBXNativeTarget "mlbIOS" */ = {
7E61CD36E6F461F6012C8AEC /* Build configuration list for PBXNativeTarget "mlbIOS" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1FC82661BC31026C62934BD7 /* Release */,
0D8A815004F8CC601240D2DB /* Debug */,
75DEC3365E4FE5397DBA6D23 /* Debug */,
D7E3D2E659BC9B3A584585FE /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
defaultConfigurationName = Debug;
};
B8EE3C08200DF28CFF279E15 /* Build configuration list for PBXProject "mlbTVOS" */ = {
isa = XCConfigurationList;
@@ -641,6 +732,15 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
E19144DDC167AFC338BA9481 /* Build configuration list for PBXNativeTarget "mlbTVOSTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
766EF2A8A8F5ABA868469554 /* Debug */,
91415A3F240ADBD891F74114 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
/* End XCConfigurationList section */
};
rootObject = 89437C3F6A1DA0DA4ADEA3AB /* Project object */;