This commit is contained in:
Jin
2026-05-14 17:50:06 +08:00
parent 63e29be346
commit fdde6c51ce
25 changed files with 2970 additions and 295 deletions
+282 -12
View File
@@ -13,12 +13,15 @@
058BC2FBB08D016A6FCF4C13 /* FavoritesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06CD8B07440DBB1EF2807795 /* FavoritesView.swift */; };
073BA70E29280BDF914166CF /* SearchView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8AAD980DF9D6ABDD040AC805 /* SearchView.swift */; };
0B78C3CA1D93FA29531ABD0B /* Movie.swift in Sources */ = {isa = PBXBuildFile; fileRef = D791457269BE952C496ECE55 /* Movie.swift */; };
0CE56FEF7BEDF2D9AF2DD1AD /* PlayerGestureLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7491D05031A04661718FF52 /* PlayerGestureLayer.swift */; };
0D5200B31179039E1BB61DE5 /* HapticManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF32540F2107786AF4ECD571 /* HapticManager.swift */; };
0E9ABBA046E84A91B5DC3BBB /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F4341B27BB1A860CB183467 /* ContentView.swift */; };
100ED189186C10410BE683C5 /* PlayerEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2BF545AAFFFFD0B6F7B33E8 /* PlayerEngine.swift */; };
12314BE9C595577FEE1839BB /* Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 016DC7547EE0DE345E510288 /* Extensions.swift */; };
16D0E98EA5DF105764396919 /* DesignSystem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE08247136FF788C621DA20 /* DesignSystem.swift */; };
17BAC049400FFF5487ECD23B /* SourceBean.swift in Sources */ = {isa = PBXBuildFile; fileRef = 617855BC3AE2B293C71A0DA4 /* SourceBean.swift */; };
19291FACD401CDE0E6E2963E /* LiveViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21306B53D5CA8BB88593A55D /* LiveViewModel.swift */; };
19FCB4D2A58F2CA96183E67A /* PlayerGestureLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7491D05031A04661718FF52 /* PlayerGestureLayer.swift */; };
1D0C0D4DD4E22EC319637BDF /* SearchViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C0217E00DE1B92A89B4D7C3 /* SearchViewModel.swift */; };
205509C747774AFBAB4F9645 /* VodCardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F905D1244D5DE13DBCEE170F /* VodCardView.swift */; };
211847D0D4F382678F5EDE96 /* VLCKitSPM in Frameworks */ = {isa = PBXBuildFile; productRef = A8E4ADD9D85C0FCB9811382F /* VLCKitSPM */; };
@@ -28,6 +31,7 @@
2C85CE605FC864EB479F3CCC /* DesignSystem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE08247136FF788C621DA20 /* DesignSystem.swift */; };
2F841DB8CE3BFB7C4F391B52 /* PlayerEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2BF545AAFFFFD0B6F7B33E8 /* PlayerEngine.swift */; };
32340EF75714EF664DC9512D /* HomeViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C92A5E4E28B59BF75D39706 /* HomeViewModel.swift */; };
329F390FCD9530CE2B19B397 /* HapticManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF32540F2107786AF4ECD571 /* HapticManager.swift */; };
3E399383D92192CDA8840FEB /* AppConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDB6B7E1747D5E2C29B54066 /* AppConfig.swift */; };
3F69F139D892A91CA7DA6C73 /* ApiConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6F94E23C5085A1C8ACB4856 /* ApiConfig.swift */; };
45D7A96C98872769AE01C131 /* tvboxApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54D163D4F6A45E9ACA696071 /* tvboxApp.swift */; };
@@ -40,6 +44,7 @@
5931E2182CBA71FD467BC61B /* NetworkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1006DD8209F63DC3AC3C718 /* NetworkManager.swift */; };
59DB9B1D12BAAA2F654579FE /* SearchView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8AAD980DF9D6ABDD040AC805 /* SearchView.swift */; };
5D208E481C6F97783B92E78C /* HomeViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C92A5E4E28B59BF75D39706 /* HomeViewModel.swift */; };
5E87760B3FDD9FCA2A532221 /* ProfileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E81C1B0D20EE3EFB6B58418B /* ProfileView.swift */; };
5EB3F1571D44835F105ED6E9 /* HomeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90F26F870D1B587C1292A189 /* HomeView.swift */; };
5FE9E153523D77AB24B16A7E /* Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 016DC7547EE0DE345E510288 /* Extensions.swift */; };
633ECC16BBEA9AB61841F8A3 /* ApiConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6F94E23C5085A1C8ACB4856 /* ApiConfig.swift */; };
@@ -53,53 +58,92 @@
7B76864A9BC631F1A86E8104 /* MovieSort.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0212ABEA698460948737CABE /* MovieSort.swift */; };
7C95C692E1A80145DED49DD3 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3EE159FC0B6328166F56CE36 /* Assets.xcassets */; };
7CC2D33B7B438A89B03990EC /* LiveModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE83E7D21400ACFE3BC6ED38 /* LiveModels.swift */; };
7D0F71AA151C3F8CE8EB962B /* LivePlayerGestureLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A12D4549628C3FFBA736748 /* LivePlayerGestureLayer.swift */; };
80886C0A593DE429B8A62C4C /* SettingsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A7F257F6B68F93D58E8C032 /* SettingsViewModel.swift */; };
83A7D5C99EF218624DBBCAA2 /* EmptyStateView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E7FB1EF8D1D9B109BFE7981 /* EmptyStateView.swift */; };
85094ADB7683C758B5F5F835 /* VLCPlayerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DEDBFF884A656042E3EF74AA /* VLCPlayerView.swift */; };
9231BB5D5B5D6E7172B46775 /* ChannelOverlayGroupWidthPropertyTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7FAB47D447BF6A9FC1A80BE9 /* ChannelOverlayGroupWidthPropertyTests.swift */; };
960791F95D922E104CD855F8 /* VLCKitSPM in Frameworks */ = {isa = PBXBuildFile; productRef = 1C6BDE11E85522F286D15861 /* VLCKitSPM */; };
969EE3F9ACF8E1A3026CC37F /* DetailViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D8B3DC7E0B9C01A294C47FC /* DetailViewModel.swift */; };
97B3904616111CE93232423E /* HomeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90F26F870D1B587C1292A189 /* HomeView.swift */; };
9995EE797BCD482A8D371F26 /* PlayerGestureLayerZoomClampingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5767F0D984BBEFBB9101110 /* PlayerGestureLayerZoomClampingTests.swift */; };
9B53D7CD9BD54DE0834D7FC7 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3EE159FC0B6328166F56CE36 /* Assets.xcassets */; };
9FCA2C5CC08A9369EA53B130 /* LiveViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21306B53D5CA8BB88593A55D /* LiveViewModel.swift */; };
B06E33645C9D8322D7474962 /* HistoryView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE52456C613016065CF59F9C /* HistoryView.swift */; };
B271873FE89F02840EAC6975 /* VLCPlayerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DEDBFF884A656042E3EF74AA /* VLCPlayerView.swift */; };
B42C3B637B6082ECD044DBFE /* ChannelOverlayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74B2E6B616F6AE034C7CC242 /* ChannelOverlayView.swift */; };
B86C3ACE754B5F52B70588A9 /* NetworkMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7752B731B0A015EB4B85BFB1 /* NetworkMonitor.swift */; };
BB051B00E5F63DCFF9BC013A /* EmptyStateView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E7FB1EF8D1D9B109BFE7981 /* EmptyStateView.swift */; };
BB36351815C53AC6EACB475A /* VodInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA608E781D094B187D3034FD /* VodInfo.swift */; };
BD7E2108F8C884E1DD6EC1B9 /* tvboxApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54D163D4F6A45E9ACA696071 /* tvboxApp.swift */; };
C04126B16A89AF84E7EAC441 /* PlayerGestureLayerZoneClassificationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EDFB004DA6642926C611BC9 /* PlayerGestureLayerZoneClassificationTests.swift */; };
C13E02E9A6451F57D21590A3 /* SourceBean.swift in Sources */ = {isa = PBXBuildFile; fileRef = 617855BC3AE2B293C71A0DA4 /* SourceBean.swift */; };
CF28A416A2BCEF2E37892899 /* ChannelOverlayGroupWidthPropertyTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7FAB47D447BF6A9FC1A80BE9 /* ChannelOverlayGroupWidthPropertyTests.swift */; };
CFF1FF7DF205B2E3CFBF9DD0 /* PlayerGestureLayerZoomClampingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5767F0D984BBEFBB9101110 /* PlayerGestureLayerZoomClampingTests.swift */; };
D3B09E23F0DFA6298CCE6B40 /* PlayerGestureLayerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9777D260D16B089DA2DACB22 /* PlayerGestureLayerTests.swift */; };
D6F4B32786BF79CBF6AB77EA /* AppConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDB6B7E1747D5E2C29B54066 /* AppConfig.swift */; };
D8412DB044659CA4507DE219 /* HistoryView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE52456C613016065CF59F9C /* HistoryView.swift */; };
DB893501C654D6CC2D71D198 /* CacheStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFD32454522C32D876921A30 /* CacheStore.swift */; };
E983FD4D6902C9F359528F2E /* LiveModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE83E7D21400ACFE3BC6ED38 /* LiveModels.swift */; };
E9DE1232C207925E93343E15 /* ProfileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E81C1B0D20EE3EFB6B58418B /* ProfileView.swift */; };
ED9018DE19A38BEF616B71A3 /* LivePlayerGestureLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A12D4549628C3FFBA736748 /* LivePlayerGestureLayer.swift */; };
F01490300EAFDF38F8BD5D46 /* NetworkMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7752B731B0A015EB4B85BFB1 /* NetworkMonitor.swift */; };
F19D2281D427FEE5B1349769 /* ChannelOverlayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74B2E6B616F6AE034C7CC242 /* ChannelOverlayView.swift */; };
F351B1ECC80D0C2A15DE2BEC /* PlayerGestureLayerPropertyTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 269FD665F80615609817E428 /* PlayerGestureLayerPropertyTests.swift */; };
F49BBFD0CCDE27C63FD97180 /* FavoritesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06CD8B07440DBB1EF2807795 /* FavoritesView.swift */; };
F6E863F58C52916EAB766B60 /* PlayerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB87D0D74C7CB27B06EBBC4A /* PlayerView.swift */; };
F911F241653C76EABDA844A9 /* SearchViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C0217E00DE1B92A89B4D7C3 /* SearchViewModel.swift */; };
FA5621E49A1014D014A5906E /* SettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A10969CAA236B75C35062BCE /* SettingsView.swift */; };
FFA89F351987A1217DBC56B2 /* PlayerGestureLayerPropertyTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 269FD665F80615609817E428 /* PlayerGestureLayerPropertyTests.swift */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
7239DE519CCBFDEB377CA655 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 4FDAB104B1C6110A770CC389 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 11562C2D9CA08B82105BC7B6;
remoteInfo = tvbox;
};
A86A49D753626DA6D45004CE /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 4FDAB104B1C6110A770CC389 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 11562C2D9CA08B82105BC7B6;
remoteInfo = tvbox;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
016DC7547EE0DE345E510288 /* Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Extensions.swift; sourceTree = "<group>"; };
0212ABEA698460948737CABE /* MovieSort.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MovieSort.swift; sourceTree = "<group>"; };
06CD8B07440DBB1EF2807795 /* FavoritesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FavoritesView.swift; sourceTree = "<group>"; };
09FEA232F8084173AAC649D4 /* tvboxTests.xctest */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.cfbundle; path = tvboxTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
0A7F257F6B68F93D58E8C032 /* SettingsViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsViewModel.swift; sourceTree = "<group>"; };
0C0217E00DE1B92A89B4D7C3 /* SearchViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchViewModel.swift; sourceTree = "<group>"; };
131429F267F6A418C282831A /* DetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailView.swift; sourceTree = "<group>"; };
21306B53D5CA8BB88593A55D /* LiveViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LiveViewModel.swift; sourceTree = "<group>"; };
269FD665F80615609817E428 /* PlayerGestureLayerPropertyTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerGestureLayerPropertyTests.swift; sourceTree = "<group>"; };
2C92A5E4E28B59BF75D39706 /* HomeViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeViewModel.swift; sourceTree = "<group>"; };
3EE159FC0B6328166F56CE36 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
54D163D4F6A45E9ACA696071 /* tvboxApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = tvboxApp.swift; sourceTree = "<group>"; };
5EDFB004DA6642926C611BC9 /* PlayerGestureLayerZoneClassificationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerGestureLayerZoneClassificationTests.swift; sourceTree = "<group>"; };
617855BC3AE2B293C71A0DA4 /* SourceBean.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SourceBean.swift; sourceTree = "<group>"; };
6D8B3DC7E0B9C01A294C47FC /* DetailViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailViewModel.swift; sourceTree = "<group>"; };
6EE08247136FF788C621DA20 /* DesignSystem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DesignSystem.swift; sourceTree = "<group>"; };
6F4341B27BB1A860CB183467 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
7077934707CEA1AEB06F1EF7 /* tvbox-macOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "tvbox-macOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
74B2E6B616F6AE034C7CC242 /* ChannelOverlayView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChannelOverlayView.swift; sourceTree = "<group>"; };
7752B731B0A015EB4B85BFB1 /* NetworkMonitor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkMonitor.swift; sourceTree = "<group>"; };
7A12D4549628C3FFBA736748 /* LivePlayerGestureLayer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LivePlayerGestureLayer.swift; sourceTree = "<group>"; };
7FAB47D447BF6A9FC1A80BE9 /* ChannelOverlayGroupWidthPropertyTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChannelOverlayGroupWidthPropertyTests.swift; sourceTree = "<group>"; };
8AAD980DF9D6ABDD040AC805 /* SearchView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchView.swift; sourceTree = "<group>"; };
8E7FB1EF8D1D9B109BFE7981 /* EmptyStateView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmptyStateView.swift; sourceTree = "<group>"; };
90F26F870D1B587C1292A189 /* HomeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeView.swift; sourceTree = "<group>"; };
9777D260D16B089DA2DACB22 /* PlayerGestureLayerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerGestureLayerTests.swift; sourceTree = "<group>"; };
98A5ADBA89C07920FE7DE302 /* tvbox-macOS.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "tvbox-macOS.entitlements"; sourceTree = "<group>"; };
A10969CAA236B75C35062BCE /* SettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = "<group>"; };
A5767F0D984BBEFBB9101110 /* PlayerGestureLayerZoomClampingTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerGestureLayerZoomClampingTests.swift; sourceTree = "<group>"; };
AA608E781D094B187D3034FD /* VodInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VodInfo.swift; sourceTree = "<group>"; };
B2BF545AAFFFFD0B6F7B33E8 /* PlayerEngine.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerEngine.swift; sourceTree = "<group>"; };
B3D8D6F9D894DBE0594084F9 /* LiveView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LiveView.swift; sourceTree = "<group>"; };
@@ -115,6 +159,10 @@
DE52456C613016065CF59F9C /* HistoryView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HistoryView.swift; sourceTree = "<group>"; };
DEDBFF884A656042E3EF74AA /* VLCPlayerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VLCPlayerView.swift; sourceTree = "<group>"; };
E5234A75D14EAE9141633FCA /* tvbox.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = tvbox.app; sourceTree = BUILT_PRODUCTS_DIR; };
E64444D4CBE0502858CBD7E4 /* tvbox-Tests.xctest */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.cfbundle; path = "tvbox-Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
E7491D05031A04661718FF52 /* PlayerGestureLayer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerGestureLayer.swift; sourceTree = "<group>"; };
E81C1B0D20EE3EFB6B58418B /* ProfileView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileView.swift; sourceTree = "<group>"; };
EF32540F2107786AF4ECD571 /* HapticManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HapticManager.swift; sourceTree = "<group>"; };
F905D1244D5DE13DBCEE170F /* VodCardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VodCardView.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */
@@ -142,10 +190,20 @@
isa = PBXGroup;
children = (
016DC7547EE0DE345E510288 /* Extensions.swift */,
EF32540F2107786AF4ECD571 /* HapticManager.swift */,
);
path = Utils;
sourceTree = "<group>";
};
0F55DB9D84FD47BF11F99DE5 /* tvbox-Tests */ = {
isa = PBXGroup;
children = (
9777D260D16B089DA2DACB22 /* PlayerGestureLayerTests.swift */,
5EDFB004DA6642926C611BC9 /* PlayerGestureLayerZoneClassificationTests.swift */,
);
path = "tvbox-Tests";
sourceTree = "<group>";
};
22CB65DE627DB94747387944 /* Services */ = {
isa = PBXGroup;
children = (
@@ -160,6 +218,8 @@
2990EE415D2440DE11757F52 /* Player */ = {
isa = PBXGroup;
children = (
7A12D4549628C3FFBA736748 /* LivePlayerGestureLayer.swift */,
E7491D05031A04661718FF52 /* PlayerGestureLayer.swift */,
BB87D0D74C7CB27B06EBBC4A /* PlayerView.swift */,
DEDBFF884A656042E3EF74AA /* VLCPlayerView.swift */,
);
@@ -174,6 +234,24 @@
path = Search;
sourceTree = "<group>";
};
2CDB960D512B40AF659C0811 /* tvboxTests */ = {
isa = PBXGroup;
children = (
7FAB47D447BF6A9FC1A80BE9 /* ChannelOverlayGroupWidthPropertyTests.swift */,
269FD665F80615609817E428 /* PlayerGestureLayerPropertyTests.swift */,
A5767F0D984BBEFBB9101110 /* PlayerGestureLayerZoomClampingTests.swift */,
);
path = tvboxTests;
sourceTree = "<group>";
};
2D13F96D465DAF4A57E7F402 /* Profile */ = {
isa = PBXGroup;
children = (
E81C1B0D20EE3EFB6B58418B /* ProfileView.swift */,
);
path = Profile;
sourceTree = "<group>";
};
2E56FD5A2A716ED24B655259 /* Models */ = {
isa = PBXGroup;
children = (
@@ -206,6 +284,7 @@
FD7DFF54835B377CB9BF5A82 /* Home */,
D3F1B37CB4D7643D7F7639CE /* Live */,
2990EE415D2440DE11757F52 /* Player */,
2D13F96D465DAF4A57E7F402 /* Profile */,
2B5161C9D7D5ECC250A7FFC0 /* Search */,
395C32C174B961E32AF81E4F /* Settings */,
6F4341B27BB1A860CB183467 /* ContentView.swift */,
@@ -218,6 +297,8 @@
isa = PBXGroup;
children = (
8B5798117EA20DF680EFD3CA /* tvbox */,
0F55DB9D84FD47BF11F99DE5 /* tvbox-Tests */,
2CDB960D512B40AF659C0811 /* tvboxTests */,
AF26E3B8CC541C336E1ECDDB /* Products */,
);
sourceTree = "<group>";
@@ -265,6 +346,7 @@
E1FD870365F6D4FD67730DBD /* ViewModels */,
4D47ACD45B1BF337CCB04FCC /* Views */,
3EE159FC0B6328166F56CE36 /* Assets.xcassets */,
98A5ADBA89C07920FE7DE302 /* tvbox-macOS.entitlements */,
54D163D4F6A45E9ACA696071 /* tvboxApp.swift */,
);
path = tvbox;
@@ -274,7 +356,9 @@
isa = PBXGroup;
children = (
7077934707CEA1AEB06F1EF7 /* tvbox-macOS.app */,
E64444D4CBE0502858CBD7E4 /* tvbox-Tests.xctest */,
E5234A75D14EAE9141633FCA /* tvbox.app */,
09FEA232F8084173AAC649D4 /* tvboxTests.xctest */,
);
name = Products;
sourceTree = "<group>";
@@ -282,6 +366,7 @@
D3F1B37CB4D7643D7F7639CE /* Live */ = {
isa = PBXGroup;
children = (
74B2E6B616F6AE034C7CC242 /* ChannelOverlayView.swift */,
B3D8D6F9D894DBE0594084F9 /* LiveView.swift */,
);
path = Live;
@@ -339,6 +424,24 @@
productReference = E5234A75D14EAE9141633FCA /* tvbox.app */;
productType = "com.apple.product-type.application";
};
6654D9217FBAAC8D637C69A8 /* tvbox-Tests */ = {
isa = PBXNativeTarget;
buildConfigurationList = E2BCF6682D0CE82B69B74411 /* Build configuration list for PBXNativeTarget "tvbox-Tests" */;
buildPhases = (
0B9604C19AD94C5FF651FC38 /* Sources */,
);
buildRules = (
);
dependencies = (
AEB1CA8F6E9D3FE63870B42F /* PBXTargetDependency */,
);
name = "tvbox-Tests";
packageProductDependencies = (
);
productName = "tvbox-Tests";
productReference = E64444D4CBE0502858CBD7E4 /* tvbox-Tests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
793E3BB44A68A9F75C89F0C1 /* tvbox-macOS */ = {
isa = PBXNativeTarget;
buildConfigurationList = B562A6D461B4EAA4BD297CA0 /* Build configuration list for PBXNativeTarget "tvbox-macOS" */;
@@ -359,6 +462,24 @@
productReference = 7077934707CEA1AEB06F1EF7 /* tvbox-macOS.app */;
productType = "com.apple.product-type.application";
};
A8BE1A152DDC63C329EA702B /* tvboxTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = E226A42B8E14F285EA8D5D9A /* Build configuration list for PBXNativeTarget "tvboxTests" */;
buildPhases = (
7FF57815F26F4F3DCFA4F2EC /* Sources */,
);
buildRules = (
);
dependencies = (
A407E73109D81FAE254645AA /* PBXTargetDependency */,
);
name = tvboxTests;
packageProductDependencies = (
);
productName = tvboxTests;
productReference = 09FEA232F8084173AAC649D4 /* tvboxTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
@@ -369,11 +490,19 @@
LastUpgradeCheck = 1500;
TargetAttributes = {
11562C2D9CA08B82105BC7B6 = {
DevelopmentTeam = "";
DevelopmentTeam = WP3M36TK8M;
ProvisioningStyle = Automatic;
};
6654D9217FBAAC8D637C69A8 = {
DevelopmentTeam = WP3M36TK8M;
ProvisioningStyle = Automatic;
};
793E3BB44A68A9F75C89F0C1 = {
DevelopmentTeam = "";
DevelopmentTeam = WP3M36TK8M;
ProvisioningStyle = Automatic;
};
A8BE1A152DDC63C329EA702B = {
DevelopmentTeam = WP3M36TK8M;
ProvisioningStyle = Automatic;
};
};
@@ -396,7 +525,9 @@
projectRoot = "";
targets = (
11562C2D9CA08B82105BC7B6 /* tvbox */,
6654D9217FBAAC8D637C69A8 /* tvbox-Tests */,
793E3BB44A68A9F75C89F0C1 /* tvbox-macOS */,
A8BE1A152DDC63C329EA702B /* tvboxTests */,
);
};
/* End PBXProject section */
@@ -421,6 +552,28 @@
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
0B9604C19AD94C5FF651FC38 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
CF28A416A2BCEF2E37892899 /* ChannelOverlayGroupWidthPropertyTests.swift in Sources */,
F351B1ECC80D0C2A15DE2BEC /* PlayerGestureLayerPropertyTests.swift in Sources */,
D3B09E23F0DFA6298CCE6B40 /* PlayerGestureLayerTests.swift in Sources */,
C04126B16A89AF84E7EAC441 /* PlayerGestureLayerZoneClassificationTests.swift in Sources */,
CFF1FF7DF205B2E3CFBF9DD0 /* PlayerGestureLayerZoomClampingTests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
7FF57815F26F4F3DCFA4F2EC /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
9231BB5D5B5D6E7172B46775 /* ChannelOverlayGroupWidthPropertyTests.swift in Sources */,
FFA89F351987A1217DBC56B2 /* PlayerGestureLayerPropertyTests.swift in Sources */,
9995EE797BCD482A8D371F26 /* PlayerGestureLayerZoomClampingTests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
89EE06EE9942A5C42303E3C1 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
@@ -428,6 +581,7 @@
633ECC16BBEA9AB61841F8A3 /* ApiConfig.swift in Sources */,
3E399383D92192CDA8840FEB /* AppConfig.swift in Sources */,
DB893501C654D6CC2D71D198 /* CacheStore.swift in Sources */,
F19D2281D427FEE5B1349769 /* ChannelOverlayView.swift in Sources */,
0E9ABBA046E84A91B5DC3BBB /* ContentView.swift in Sources */,
2C85CE605FC864EB479F3CCC /* DesignSystem.swift in Sources */,
4E84E7083C81F5A8E3C8FFD8 /* DetailView.swift in Sources */,
@@ -436,10 +590,12 @@
69BDB52A3ADDA43EAE59DE4B /* EpisodeListView.swift in Sources */,
12314BE9C595577FEE1839BB /* Extensions.swift in Sources */,
F49BBFD0CCDE27C63FD97180 /* FavoritesView.swift in Sources */,
0D5200B31179039E1BB61DE5 /* HapticManager.swift in Sources */,
D8412DB044659CA4507DE219 /* HistoryView.swift in Sources */,
97B3904616111CE93232423E /* HomeView.swift in Sources */,
5D208E481C6F97783B92E78C /* HomeViewModel.swift in Sources */,
E983FD4D6902C9F359528F2E /* LiveModels.swift in Sources */,
7D0F71AA151C3F8CE8EB962B /* LivePlayerGestureLayer.swift in Sources */,
267A5751434568E302E0C902 /* LiveView.swift in Sources */,
19291FACD401CDE0E6E2963E /* LiveViewModel.swift in Sources */,
0B78C3CA1D93FA29531ABD0B /* Movie.swift in Sources */,
@@ -447,7 +603,9 @@
5931E2182CBA71FD467BC61B /* NetworkManager.swift in Sources */,
F01490300EAFDF38F8BD5D46 /* NetworkMonitor.swift in Sources */,
2F841DB8CE3BFB7C4F391B52 /* PlayerEngine.swift in Sources */,
0CE56FEF7BEDF2D9AF2DD1AD /* PlayerGestureLayer.swift in Sources */,
00DC0B0A8D261A9015CE9308 /* PlayerView.swift in Sources */,
5E87760B3FDD9FCA2A532221 /* ProfileView.swift in Sources */,
073BA70E29280BDF914166CF /* SearchView.swift in Sources */,
1D0C0D4DD4E22EC319637BDF /* SearchViewModel.swift in Sources */,
FA5621E49A1014D014A5906E /* SettingsView.swift in Sources */,
@@ -468,6 +626,7 @@
3F69F139D892A91CA7DA6C73 /* ApiConfig.swift in Sources */,
D6F4B32786BF79CBF6AB77EA /* AppConfig.swift in Sources */,
6EC44AD626C64BC902CD9D1B /* CacheStore.swift in Sources */,
B42C3B637B6082ECD044DBFE /* ChannelOverlayView.swift in Sources */,
01259DBB84CEFA52CB5BC8C1 /* ContentView.swift in Sources */,
16D0E98EA5DF105764396919 /* DesignSystem.swift in Sources */,
6765DB90DA62DBEE185104F7 /* DetailView.swift in Sources */,
@@ -476,10 +635,12 @@
72A1006A1A66F1721DD1618E /* EpisodeListView.swift in Sources */,
5FE9E153523D77AB24B16A7E /* Extensions.swift in Sources */,
058BC2FBB08D016A6FCF4C13 /* FavoritesView.swift in Sources */,
329F390FCD9530CE2B19B397 /* HapticManager.swift in Sources */,
B06E33645C9D8322D7474962 /* HistoryView.swift in Sources */,
5EB3F1571D44835F105ED6E9 /* HomeView.swift in Sources */,
32340EF75714EF664DC9512D /* HomeViewModel.swift in Sources */,
7CC2D33B7B438A89B03990EC /* LiveModels.swift in Sources */,
ED9018DE19A38BEF616B71A3 /* LivePlayerGestureLayer.swift in Sources */,
530B86138F2A404353CE37AB /* LiveView.swift in Sources */,
9FCA2C5CC08A9369EA53B130 /* LiveViewModel.swift in Sources */,
485F358B964A4CB6E5AC4E03 /* Movie.swift in Sources */,
@@ -487,7 +648,9 @@
5230AE350F993A4792B03F74 /* NetworkManager.swift in Sources */,
B86C3ACE754B5F52B70588A9 /* NetworkMonitor.swift in Sources */,
100ED189186C10410BE683C5 /* PlayerEngine.swift in Sources */,
19FCB4D2A58F2CA96183E67A /* PlayerGestureLayer.swift in Sources */,
F6E863F58C52916EAB766B60 /* PlayerView.swift in Sources */,
E9DE1232C207925E93343E15 /* ProfileView.swift in Sources */,
59DB9B1D12BAAA2F654579FE /* SearchView.swift in Sources */,
F911F241653C76EABDA844A9 /* SearchViewModel.swift in Sources */,
020C5667E8D08A0C9B03EC8E /* SettingsView.swift in Sources */,
@@ -503,13 +666,26 @@
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
A407E73109D81FAE254645AA /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 11562C2D9CA08B82105BC7B6 /* tvbox */;
targetProxy = A86A49D753626DA6D45004CE /* PBXContainerItemProxy */;
};
AEB1CA8F6E9D3FE63870B42F /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 11562C2D9CA08B82105BC7B6 /* tvbox */;
targetProxy = 7239DE519CCBFDEB377CA655 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
05A4C2FBFE824459DAF6F032 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_ENTITLEMENTS = "";
CODE_SIGN_ENTITLEMENTS = "tvbox/tvbox-macOS.entitlements";
CODE_SIGN_IDENTITY = "-";
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 1;
@@ -520,7 +696,7 @@
"@executable_path/../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 14.0;
MARKETING_VERSION = 1.0.0;
MARKETING_VERSION = 1.0.3;
PRODUCT_BUNDLE_IDENTIFIER = com.tvbox.app.macos;
PRODUCT_NAME = TVBox;
SDKROOT = macosx;
@@ -565,7 +741,7 @@
CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = "";
DEVELOPMENT_TEAM = WP3M36TK8M;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
@@ -590,7 +766,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_ENTITLEMENTS = "";
CODE_SIGN_ENTITLEMENTS = "tvbox/tvbox-macOS.entitlements";
CODE_SIGN_IDENTITY = "-";
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 1;
@@ -601,7 +777,7 @@
"@executable_path/../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 14.0;
MARKETING_VERSION = 1.0.0;
MARKETING_VERSION = 1.0.3;
PRODUCT_BUNDLE_IDENTIFIER = com.tvbox.app.macos;
PRODUCT_NAME = TVBox;
SDKROOT = macosx;
@@ -610,6 +786,63 @@
};
name = Debug;
};
43D3C5B79428BA37ABA0A3D1 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.tvbox.app.tests;
SDKROOT = iphoneos;
SWIFT_OPTIMIZATION_LEVEL = "-O";
TARGETED_DEVICE_FAMILY = "1,2";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TVBox.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/TVBox";
};
name = Release;
};
600A01562B84DD8644C72B26 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.tvbox.app.tests;
SDKROOT = iphoneos;
SWIFT_OPTIMIZATION_LEVEL = "-O";
TARGETED_DEVICE_FAMILY = "1,2";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TVBox.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/TVBox";
};
name = Release;
};
6D108BA4F95E6E4B71DB1AD4 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.tvbox.app.tests;
SDKROOT = iphoneos;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
TARGETED_DEVICE_FAMILY = "1,2";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TVBox.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/TVBox";
};
name = Debug;
};
8A2175BF0264F53B0EF674FF /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
@@ -630,8 +863,8 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.0.0;
PRODUCT_BUNDLE_IDENTIFIER = com.tvbox.app;
MARKETING_VERSION = 1.0.3;
PRODUCT_BUNDLE_IDENTIFIER = xyz.appinstall.nov.carbon.lam;
PRODUCT_NAME = TVBox;
SDKROOT = iphoneos;
SUPPORTS_MACCATALYST = YES;
@@ -641,6 +874,25 @@
};
name = Debug;
};
C2C422BFD7EA2EA2983FF28C /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.tvbox.app.tests;
SDKROOT = iphoneos;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
TARGETED_DEVICE_FAMILY = "1,2";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TVBox.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/TVBox";
};
name = Debug;
};
D7359975052DCED591BCFD09 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
@@ -677,7 +929,7 @@
CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
DEVELOPMENT_TEAM = "";
DEVELOPMENT_TEAM = WP3M36TK8M;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
@@ -724,8 +976,8 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.0.0;
PRODUCT_BUNDLE_IDENTIFIER = com.tvbox.app;
MARKETING_VERSION = 1.0.3;
PRODUCT_BUNDLE_IDENTIFIER = xyz.appinstall.nov.carbon.lam;
PRODUCT_NAME = TVBox;
SDKROOT = iphoneos;
SUPPORTS_MACCATALYST = YES;
@@ -765,6 +1017,24 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
E226A42B8E14F285EA8D5D9A /* Build configuration list for PBXNativeTarget "tvboxTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
C2C422BFD7EA2EA2983FF28C /* Debug */,
43D3C5B79428BA37ABA0A3D1 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
E2BCF6682D0CE82B69B74411 /* Build configuration list for PBXNativeTarget "tvbox-Tests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
6D108BA4F95E6E4B71DB1AD4 /* Debug */,
600A01562B84DD8644C72B26 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
/* End XCConfigurationList section */
/* Begin XCRemoteSwiftPackageReference section */