From 951350e1e490025a38426b8c224320ee232cafc7 Mon Sep 17 00:00:00 2001 From: AKosylo Date: Thu, 14 Dec 2023 13:25:15 +0100 Subject: [PATCH] remove obsolete target --- DXFeedFramework.xcodeproj/project.pbxproj | 221 ------------------ .../xcschemes/DXVisionQuoteTableApp.xcscheme | 77 ------ .../Content.imageset/Contents.json | 13 -- .../Content.imageset/dxfeed_black-sym.svg.png | Bin 33236 -> 0 bytes .../Back.solidimagestacklayer/Contents.json | 6 - .../AppIcon.solidimagestack/Contents.json | 17 -- .../Content.imageset/Contents.json | 13 -- .../Content.imageset/dxfeed_black-sym.svg.png | Bin 33236 -> 0 bytes .../Front.solidimagestacklayer/Contents.json | 6 - .../Content.imageset/Contents.json | 13 -- .../Content.imageset/dxfeed_black-sym.svg.png | Bin 33236 -> 0 bytes .../Middle.solidimagestacklayer/Contents.json | 6 - .../Assets.xcassets/Contents.json | 6 - Samples/VisionQuoteTableApp/ContentView.swift | 57 ----- Samples/VisionQuoteTableApp/DataSource.swift | 39 ---- Samples/VisionQuoteTableApp/Endpoint.swift | 74 ------ .../Preview Assets.xcassets/Contents.json | 6 - Samples/VisionQuoteTableApp/QuoteView.swift | 42 ---- .../VisionQuoteTableApp/QuoteViewModel.swift | 66 ------ .../VisionQuoteTableAppApp.swift | 18 -- 20 files changed, 680 deletions(-) delete mode 100644 DXFeedFramework.xcodeproj/xcshareddata/xcschemes/DXVisionQuoteTableApp.xcscheme delete mode 100644 Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Back.solidimagestacklayer/Content.imageset/Contents.json delete mode 100644 Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Back.solidimagestacklayer/Content.imageset/dxfeed_black-sym.svg.png delete mode 100644 Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Back.solidimagestacklayer/Contents.json delete mode 100644 Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Contents.json delete mode 100644 Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Front.solidimagestacklayer/Content.imageset/Contents.json delete mode 100644 Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Front.solidimagestacklayer/Content.imageset/dxfeed_black-sym.svg.png delete mode 100644 Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Front.solidimagestacklayer/Contents.json delete mode 100644 Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Middle.solidimagestacklayer/Content.imageset/Contents.json delete mode 100644 Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Middle.solidimagestacklayer/Content.imageset/dxfeed_black-sym.svg.png delete mode 100644 Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Middle.solidimagestacklayer/Contents.json delete mode 100644 Samples/VisionQuoteTableApp/Assets.xcassets/Contents.json delete mode 100644 Samples/VisionQuoteTableApp/ContentView.swift delete mode 100644 Samples/VisionQuoteTableApp/DataSource.swift delete mode 100644 Samples/VisionQuoteTableApp/Endpoint.swift delete mode 100644 Samples/VisionQuoteTableApp/Preview Content/Preview Assets.xcassets/Contents.json delete mode 100644 Samples/VisionQuoteTableApp/QuoteView.swift delete mode 100644 Samples/VisionQuoteTableApp/QuoteViewModel.swift delete mode 100644 Samples/VisionQuoteTableApp/VisionQuoteTableAppApp.swift diff --git a/DXFeedFramework.xcodeproj/project.pbxproj b/DXFeedFramework.xcodeproj/project.pbxproj index 82f00439b..1afceb295 100644 --- a/DXFeedFramework.xcodeproj/project.pbxproj +++ b/DXFeedFramework.xcodeproj/project.pbxproj @@ -71,19 +71,6 @@ 641E45F92B1DE51700649363 /* EventsListener.swift in Sources */ = {isa = PBXBuildFile; fileRef = 641E45F82B1DE51700649363 /* EventsListener.swift */; }; 642528D02A3C534D00A04E41 /* TimeInterval+Ext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6469F8CD2A3B2F9900846831 /* TimeInterval+Ext.swift */; }; 642528D12A3C534D00A04E41 /* TimeInterval+Ext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6469F8CD2A3B2F9900846831 /* TimeInterval+Ext.swift */; }; - 64262CCE2A4DA64700BA6BA3 /* RealityKitContent in Frameworks */ = {isa = PBXBuildFile; platformFilters = (xros, ); productRef = 64262CCD2A4DA64700BA6BA3 /* RealityKitContent */; }; - 64262CD02A4DA64700BA6BA3 /* VisionQuoteTableAppApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64262CCF2A4DA64700BA6BA3 /* VisionQuoteTableAppApp.swift */; }; - 64262CD22A4DA64700BA6BA3 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64262CD12A4DA64700BA6BA3 /* ContentView.swift */; }; - 64262CD72A4DA64800BA6BA3 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 64262CD62A4DA64800BA6BA3 /* Preview Assets.xcassets */; }; - 64262CDB2A4DA66100BA6BA3 /* DXFeedFramework.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 803BAC0D29BFA50700FFAB1C /* DXFeedFramework.framework */; }; - 64262CDC2A4DA66100BA6BA3 /* DXFeedFramework.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 803BAC0D29BFA50700FFAB1C /* DXFeedFramework.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 64262CE12A4DADCF00BA6BA3 /* Endpoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64262CE02A4DADCF00BA6BA3 /* Endpoint.swift */; }; - 64262CE22A4DB68B00BA6BA3 /* Endpoint+Ext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64B6277C2A3762D000196D07 /* Endpoint+Ext.swift */; }; - 64262CE42A4DC16F00BA6BA3 /* QuoteViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64262CE32A4DC16F00BA6BA3 /* QuoteViewModel.swift */; }; - 64262CE92A4DC70C00BA6BA3 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 64262CD32A4DA64800BA6BA3 /* Assets.xcassets */; }; - 64262CEA2A4DC71600BA6BA3 /* DXFTimer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 646D19E02A3C970700C82315 /* DXFTimer.swift */; }; - 64262CEB2A4DC77600BA6BA3 /* Colors.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 646979712A3B5AF60003A9BA /* Colors.xcassets */; }; - 64262CED2A4DC8BC00BA6BA3 /* DataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64262CEC2A4DC8BC00BA6BA3 /* DataSource.swift */; }; 6426C8912A531AAE00236784 /* EndpointTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80FC416029CA376E00E6B611 /* EndpointTest.swift */; }; 6426C8932A531AB500236784 /* ThreadsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8088D76C29C101CF00F240CB /* ThreadsTest.swift */; }; 64278C6C2A602CA20074B5AA /* CandleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64278C6B2A602CA20074B5AA /* CandleTests.swift */; }; @@ -202,7 +189,6 @@ 646D19E32A3C994100C82315 /* DXFTimer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 646D19E02A3C970700C82315 /* DXFTimer.swift */; }; 647426AD2ABC85F20012F793 /* Arguments.swift in Sources */ = {isa = PBXBuildFile; fileRef = 647426AC2ABC85F20012F793 /* Arguments.swift */; }; 647426AF2ABC93900012F793 /* EventCode+String.swift in Sources */ = {isa = PBXBuildFile; fileRef = 647426AE2ABC93900012F793 /* EventCode+String.swift */; }; - 6479BC2B2A4F35A300A3D404 /* QuoteView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6479BC2A2A4F35A300A3D404 /* QuoteView.swift */; }; 648468AC2B0D06FA008297AE /* DXDateOffset.swift in Sources */ = {isa = PBXBuildFile; fileRef = 648468AB2B0D06FA008297AE /* DXDateOffset.swift */; }; 6486B9582AD00BDC00D8D5FA /* Summary.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6486B9572AD00BDC00D8D5FA /* Summary.swift */; }; 6486B95B2AD015B400D8D5FA /* PriceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6486B95A2AD015B400D8D5FA /* PriceType.swift */; }; @@ -388,13 +374,6 @@ remoteGlobalIDString = 803BAC0C29BFA50700FFAB1C; remoteInfo = DxFeedSwiftFramework; }; - 64262CDD2A4DA66100BA6BA3 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 803BAC0429BFA50700FFAB1C /* Project object */; - proxyType = 1; - remoteGlobalIDString = 803BAC0C29BFA50700FFAB1C; - remoteInfo = DxFeedSwiftFramework; - }; 642DC9392AAA222700974F5C /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 803BAC0429BFA50700FFAB1C /* Project object */; @@ -481,17 +460,6 @@ name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; }; - 64262CDF2A4DA66100BA6BA3 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 64262CDC2A4DA66100BA6BA3 /* DXFeedFramework.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; 642DC93F2AAA22D900974F5C /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; @@ -619,15 +587,7 @@ 641BDD5C2ACD67A000236B78 /* LatencyListener.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LatencyListener.swift; sourceTree = ""; }; 641BDD602ACD697B00236B78 /* AbstractEventListener.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AbstractEventListener.swift; sourceTree = ""; }; 641E45F82B1DE51700649363 /* EventsListener.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventsListener.swift; sourceTree = ""; }; - 64262CC92A4DA64600BA6BA3 /* DXVisionQuoteTableApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DXVisionQuoteTableApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; 64262CCC2A4DA64700BA6BA3 /* RealityKitContent */ = {isa = PBXFileReference; lastKnownFileType = wrapper; path = RealityKitContent; sourceTree = ""; }; - 64262CCF2A4DA64700BA6BA3 /* VisionQuoteTableAppApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VisionQuoteTableAppApp.swift; sourceTree = ""; }; - 64262CD12A4DA64700BA6BA3 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; - 64262CD32A4DA64800BA6BA3 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 64262CD62A4DA64800BA6BA3 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; - 64262CE02A4DADCF00BA6BA3 /* Endpoint.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Endpoint.swift; sourceTree = ""; }; - 64262CE32A4DC16F00BA6BA3 /* QuoteViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QuoteViewModel.swift; sourceTree = ""; }; - 64262CEC2A4DC8BC00BA6BA3 /* DataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DataSource.swift; sourceTree = ""; }; 64278C6B2A602CA20074B5AA /* CandleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CandleTests.swift; sourceTree = ""; }; 64278C6D2A602D2B0074B5AA /* Candle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Candle.swift; sourceTree = ""; }; 64278C6F2A602FA00074B5AA /* Candle+Ext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Candle+Ext.swift"; sourceTree = ""; }; @@ -718,7 +678,6 @@ 646D19E02A3C970700C82315 /* DXFTimer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DXFTimer.swift; sourceTree = ""; }; 647426AC2ABC85F20012F793 /* Arguments.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Arguments.swift; sourceTree = ""; }; 647426AE2ABC93900012F793 /* EventCode+String.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "EventCode+String.swift"; sourceTree = ""; }; - 6479BC2A2A4F35A300A3D404 /* QuoteView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QuoteView.swift; sourceTree = ""; }; 648468AB2B0D06FA008297AE /* DXDateOffset.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DXDateOffset.swift; sourceTree = ""; }; 6486B9572AD00BDC00D8D5FA /* Summary.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Summary.swift; sourceTree = ""; }; 6486B95A2AD015B400D8D5FA /* PriceType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PriceType.swift; sourceTree = ""; }; @@ -894,15 +853,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 64262CC62A4DA64600BA6BA3 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 64262CCE2A4DA64700BA6BA3 /* RealityKitContent in Frameworks */, - 64262CDB2A4DA66100BA6BA3 /* DXFeedFramework.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 642DC9222AAA21C000974F5C /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -1067,21 +1017,6 @@ path = Playgrounds; sourceTree = ""; }; - 64262CCA2A4DA64700BA6BA3 /* VisionQuoteTableApp */ = { - isa = PBXGroup; - children = ( - 64262CCF2A4DA64700BA6BA3 /* VisionQuoteTableAppApp.swift */, - 64262CD12A4DA64700BA6BA3 /* ContentView.swift */, - 6479BC2A2A4F35A300A3D404 /* QuoteView.swift */, - 64262CEC2A4DC8BC00BA6BA3 /* DataSource.swift */, - 64262CE02A4DADCF00BA6BA3 /* Endpoint.swift */, - 64262CE32A4DC16F00BA6BA3 /* QuoteViewModel.swift */, - 64262CD32A4DA64800BA6BA3 /* Assets.xcassets */, - 64262CD52A4DA64800BA6BA3 /* Preview Content */, - ); - path = VisionQuoteTableApp; - sourceTree = ""; - }; 64262CCB2A4DA64700BA6BA3 /* Packages */ = { isa = PBXGroup; children = ( @@ -1090,14 +1025,6 @@ path = Packages; sourceTree = ""; }; - 64262CD52A4DA64800BA6BA3 /* Preview Content */ = { - isa = PBXGroup; - children = ( - 64262CD62A4DA64800BA6BA3 /* Preview Assets.xcassets */, - ); - path = "Preview Content"; - sourceTree = ""; - }; 642BE4C52A2E1B550052340A /* Events */ = { isa = PBXGroup; children = ( @@ -1478,7 +1405,6 @@ children = ( 641E45FD2B1DF67E00649363 /* Playgrounds */, 6469F8D12A3B400100846831 /* Utils */, - 64262CCA2A4DA64700BA6BA3 /* VisionQuoteTableApp */, 644BD75B2A44726F00A0BF99 /* ARQuoteTableApp */, 64D8BB3C2A39BB730071BC88 /* LatencyTestApp */, 64B6275D2A3761A000196D07 /* PertTestApp */, @@ -1553,7 +1479,6 @@ 64B6275C2A3761A000196D07 /* DXPertTestApp.app */, 64D8BB3B2A39BB730071BC88 /* DXLatencyTestApp.app */, 644BD75A2A44726F00A0BF99 /* DXARQuoteTableApp.app */, - 64262CC92A4DA64600BA6BA3 /* DXVisionQuoteTableApp.app */, 642DC9252AAA21C000974F5C /* DXIpfTableApp.app */, 64B4364B2AB9D3410003919E /* ScheduleSampleApp.app */, 64148B642ABB5C320063110E /* Tools */, @@ -1778,28 +1703,6 @@ productReference = 64148B642ABB5C320063110E /* Tools */; productType = "com.apple.product-type.tool"; }; - 64262CC82A4DA64600BA6BA3 /* DXVisionQuoteTableApp */ = { - isa = PBXNativeTarget; - buildConfigurationList = 64262CDA2A4DA64800BA6BA3 /* Build configuration list for PBXNativeTarget "DXVisionQuoteTableApp" */; - buildPhases = ( - 64262CC52A4DA64600BA6BA3 /* Sources */, - 64262CC62A4DA64600BA6BA3 /* Frameworks */, - 64262CC72A4DA64600BA6BA3 /* Resources */, - 64262CDF2A4DA66100BA6BA3 /* Embed Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - 64262CDE2A4DA66100BA6BA3 /* PBXTargetDependency */, - ); - name = DXVisionQuoteTableApp; - packageProductDependencies = ( - 64262CCD2A4DA64700BA6BA3 /* RealityKitContent */, - ); - productName = VisionQuoteTableApp; - productReference = 64262CC92A4DA64600BA6BA3 /* DXVisionQuoteTableApp.app */; - productType = "com.apple.product-type.application"; - }; 642DC9242AAA21C000974F5C /* DXIpfTableApp */ = { isa = PBXNativeTarget; buildConfigurationList = 642DC9382AAA21C300974F5C /* Build configuration list for PBXNativeTarget "DXIpfTableApp" */; @@ -1988,9 +1891,6 @@ 64148B632ABB5C320063110E = { CreatedOnToolsVersion = 14.3; }; - 64262CC82A4DA64600BA6BA3 = { - CreatedOnToolsVersion = 15.0; - }; 642DC9242AAA21C000974F5C = { CreatedOnToolsVersion = 15.0; }; @@ -2045,7 +1945,6 @@ 64B6275B2A3761A000196D07 /* DXPertTestApp */, 64D8BB3A2A39BB730071BC88 /* DXLatencyTestApp */, 644BD7592A44726F00A0BF99 /* DXARQuoteTableApp */, - 64262CC82A4DA64600BA6BA3 /* DXVisionQuoteTableApp */, 642DC9242AAA21C000974F5C /* DXIpfTableApp */, 64B4364A2AB9D3410003919E /* ScheduleSampleApp */, 6455C3B72B20A44D00257986 /* QdsTools */, @@ -2055,16 +1954,6 @@ /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 64262CC72A4DA64600BA6BA3 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 64262CEB2A4DC77600BA6BA3 /* Colors.xcassets in Resources */, - 64262CE92A4DC70C00BA6BA3 /* Assets.xcassets in Resources */, - 64262CD72A4DA64800BA6BA3 /* Preview Assets.xcassets in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 642DC9232AAA21C000974F5C /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -2246,21 +2135,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 64262CC52A4DA64600BA6BA3 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 64262CED2A4DC8BC00BA6BA3 /* DataSource.swift in Sources */, - 64262CEA2A4DC71600BA6BA3 /* DXFTimer.swift in Sources */, - 64262CD22A4DA64700BA6BA3 /* ContentView.swift in Sources */, - 6479BC2B2A4F35A300A3D404 /* QuoteView.swift in Sources */, - 64262CE12A4DADCF00BA6BA3 /* Endpoint.swift in Sources */, - 64262CE22A4DB68B00BA6BA3 /* Endpoint+Ext.swift in Sources */, - 64262CE42A4DC16F00BA6BA3 /* QuoteViewModel.swift in Sources */, - 64262CD02A4DA64700BA6BA3 /* VisionQuoteTableAppApp.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 642DC9212AAA21C000974F5C /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -2602,11 +2476,6 @@ target = 803BAC0C29BFA50700FFAB1C /* DXFeedFramework */; targetProxy = 6417DD1B2A39C22C008912D6 /* PBXContainerItemProxy */; }; - 64262CDE2A4DA66100BA6BA3 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 803BAC0C29BFA50700FFAB1C /* DXFeedFramework */; - targetProxy = 64262CDD2A4DA66100BA6BA3 /* PBXContainerItemProxy */; - }; 642DC93A2AAA222700974F5C /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 803BAC0C29BFA50700FFAB1C /* DXFeedFramework */; @@ -2805,80 +2674,6 @@ }; name = Release; }; - 64262CD82A4DA64800BA6BA3 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_ASSET_PATHS = "\"Samples/VisionQuoteTableApp/Preview Content\""; - DEVELOPMENT_TEAM = NU75WFM6U6; - ENABLE_PREVIEWS = YES; - ENABLE_USER_SCRIPT_SANDBOXING = YES; - GCC_C_LANGUAGE_STANDARD = gnu17; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_KEY_CFBundleDisplayName = DXVisionQuoteTable; - INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; - IPHONEOS_DEPLOYMENT_TARGET = 16.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.dxfeed.DXVisionQuoteTable; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = xros; - SUPPORTED_PLATFORMS = "xros xrsimulator"; - SUPPORTS_MACCATALYST = NO; - SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; - SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_VERSION = 5.0; - XROS_DEPLOYMENT_TARGET = 1.0; - }; - name = Debug; - }; - 64262CD92A4DA64800BA6BA3 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_ASSET_PATHS = "\"Samples/VisionQuoteTableApp/Preview Content\""; - DEVELOPMENT_TEAM = NU75WFM6U6; - ENABLE_PREVIEWS = YES; - ENABLE_USER_SCRIPT_SANDBOXING = YES; - GCC_C_LANGUAGE_STANDARD = gnu17; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_KEY_CFBundleDisplayName = DXVisionQuoteTable; - INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; - IPHONEOS_DEPLOYMENT_TARGET = 16.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.dxfeed.DXVisionQuoteTable; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = xros; - SUPPORTED_PLATFORMS = "xros xrsimulator"; - SUPPORTS_MACCATALYST = NO; - SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; - SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_VERSION = 5.0; - VALIDATE_PRODUCT = YES; - XROS_DEPLOYMENT_TARGET = 1.0; - }; - name = Release; - }; 642DC9362AAA21C300974F5C /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -3648,15 +3443,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 64262CDA2A4DA64800BA6BA3 /* Build configuration list for PBXNativeTarget "DXVisionQuoteTableApp" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 64262CD82A4DA64800BA6BA3 /* Debug */, - 64262CD92A4DA64800BA6BA3 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; 642DC9382AAA21C300974F5C /* Build configuration list for PBXNativeTarget "DXIpfTableApp" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -3757,13 +3543,6 @@ defaultConfigurationName = Release; }; /* End XCConfigurationList section */ - -/* Begin XCSwiftPackageProductDependency section */ - 64262CCD2A4DA64700BA6BA3 /* RealityKitContent */ = { - isa = XCSwiftPackageProductDependency; - productName = RealityKitContent; - }; -/* End XCSwiftPackageProductDependency section */ }; rootObject = 803BAC0429BFA50700FFAB1C /* Project object */; } diff --git a/DXFeedFramework.xcodeproj/xcshareddata/xcschemes/DXVisionQuoteTableApp.xcscheme b/DXFeedFramework.xcodeproj/xcshareddata/xcschemes/DXVisionQuoteTableApp.xcscheme deleted file mode 100644 index c9395ae65..000000000 --- a/DXFeedFramework.xcodeproj/xcshareddata/xcschemes/DXVisionQuoteTableApp.xcscheme +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Back.solidimagestacklayer/Content.imageset/Contents.json b/Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Back.solidimagestacklayer/Content.imageset/Contents.json deleted file mode 100644 index 8ee5a36c0..000000000 --- a/Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Back.solidimagestacklayer/Content.imageset/Contents.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "images" : [ - { - "filename" : "dxfeed_black-sym.svg.png", - "idiom" : "reality", - "scale" : "2x" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Back.solidimagestacklayer/Content.imageset/dxfeed_black-sym.svg.png b/Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Back.solidimagestacklayer/Content.imageset/dxfeed_black-sym.svg.png deleted file mode 100644 index d13d37af2c8bf54eb330d5d9a504c4c9cabcaccd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33236 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 AMgRZ+ diff --git a/Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Back.solidimagestacklayer/Contents.json b/Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Back.solidimagestacklayer/Contents.json deleted file mode 100644 index 73c00596a..000000000 --- a/Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Back.solidimagestacklayer/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Contents.json b/Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Contents.json deleted file mode 100644 index 950af4d85..000000000 --- a/Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Contents.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "info" : { - "author" : "xcode", - "version" : 1 - }, - "layers" : [ - { - "filename" : "Front.solidimagestacklayer" - }, - { - "filename" : "Middle.solidimagestacklayer" - }, - { - "filename" : "Back.solidimagestacklayer" - } - ] -} diff --git a/Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Front.solidimagestacklayer/Content.imageset/Contents.json b/Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Front.solidimagestacklayer/Content.imageset/Contents.json deleted file mode 100644 index 8ee5a36c0..000000000 --- a/Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Front.solidimagestacklayer/Content.imageset/Contents.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "images" : [ - { - "filename" : "dxfeed_black-sym.svg.png", - "idiom" : "reality", - "scale" : "2x" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Front.solidimagestacklayer/Content.imageset/dxfeed_black-sym.svg.png b/Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Front.solidimagestacklayer/Content.imageset/dxfeed_black-sym.svg.png deleted file mode 100644 index d13d37af2c8bf54eb330d5d9a504c4c9cabcaccd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33236 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 AMgRZ+ diff --git a/Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Front.solidimagestacklayer/Contents.json b/Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Front.solidimagestacklayer/Contents.json deleted file mode 100644 index 73c00596a..000000000 --- a/Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Front.solidimagestacklayer/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Middle.solidimagestacklayer/Content.imageset/Contents.json b/Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Middle.solidimagestacklayer/Content.imageset/Contents.json deleted file mode 100644 index 8ee5a36c0..000000000 --- a/Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Middle.solidimagestacklayer/Content.imageset/Contents.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "images" : [ - { - "filename" : "dxfeed_black-sym.svg.png", - "idiom" : "reality", - "scale" : "2x" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Middle.solidimagestacklayer/Content.imageset/dxfeed_black-sym.svg.png b/Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Middle.solidimagestacklayer/Content.imageset/dxfeed_black-sym.svg.png deleted file mode 100644 index d13d37af2c8bf54eb330d5d9a504c4c9cabcaccd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33236 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 AMgRZ+ diff --git a/Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Middle.solidimagestacklayer/Contents.json b/Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Middle.solidimagestacklayer/Contents.json deleted file mode 100644 index 73c00596a..000000000 --- a/Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Middle.solidimagestacklayer/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/Samples/VisionQuoteTableApp/Assets.xcassets/Contents.json b/Samples/VisionQuoteTableApp/Assets.xcassets/Contents.json deleted file mode 100644 index da4a164c9..000000000 --- a/Samples/VisionQuoteTableApp/Assets.xcassets/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Samples/VisionQuoteTableApp/ContentView.swift b/Samples/VisionQuoteTableApp/ContentView.swift deleted file mode 100644 index 5c2fd66e0..000000000 --- a/Samples/VisionQuoteTableApp/ContentView.swift +++ /dev/null @@ -1,57 +0,0 @@ -// -// Copyright (C) 2023 Devexperts LLC. All rights reserved. -// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. -// If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. -// - -import SwiftUI -import RealityKit -import RealityKitContent -import DXFeedFramework - -struct ContentView: View { - @ObservedObject var endpoint = Endpoint() - private let symbols = ["AAPL", - "IBM", - "MSFT", - "EUR/CAD", - "ETH/USD:GDAX", - "GOOG", - "BAC", - "CSCO", - "ABCE", - "INTC", - "PFE"] - @ObservedObject var datasource: DataSource - private let cellHeight: CGFloat = 70 - - init() { - datasource = DataSource(symbols: symbols) - endpoint.addDataSource(datasource) - endpoint.subscribe(address: "demo.dxfeed.com:7300", symbols: symbols) - } - var body: some View { - VStack { - GeometryReader { _ in - ScrollView { - LazyVStack(spacing: 10) { - Spacer().frame(height: 20) - ForEach(datasource.quotes) { item in - QuoteView(item: item).frame(height: cellHeight) - } - } - } - .padding(.leading, 20) - .padding(.trailing, 20) - } - Spacer() - Text(endpoint.state.convetToString()).frame(maxWidth: .infinity, alignment: .leading) - .padding(.leading, 30).padding(.bottom, 20) - } - .background(Color(UIColor.tableBackground)) - } -} - -#Preview { - ContentView() -} diff --git a/Samples/VisionQuoteTableApp/DataSource.swift b/Samples/VisionQuoteTableApp/DataSource.swift deleted file mode 100644 index ffccc5f76..000000000 --- a/Samples/VisionQuoteTableApp/DataSource.swift +++ /dev/null @@ -1,39 +0,0 @@ -// -// Copyright (C) 2023 Devexperts LLC. All rights reserved. -// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. -// If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. -// - -import Foundation -import DXFeedFramework - -class DataSource: ObservableObject { - @Published var quotes: [QuoteViewModel] = [] - private let quotesDict: [String: QuoteViewModel] - - init(symbols: [String]) { - var quotesList = [QuoteViewModel]() - var quotesDict = [String: QuoteViewModel]() - symbols.forEach { - let model = QuoteViewModel(symbol: $0) - quotesList.append(model) - quotesDict[$0] = model - } - self.quotes = quotesList - self.quotesDict = quotesDict - } - - func update(_ value: Quote) { - DispatchQueue.main.async { - let model = self.quotesDict[value.eventSymbol] - model?.updatePrice(ask: value.askPrice, bid: value.bidPrice) - } - } - - func update(_ value: Profile) { - DispatchQueue.main.async { - let model = self.quotesDict[value.eventSymbol] - model?.updateDescription(value.descriptionStr ?? "") - } - } -} diff --git a/Samples/VisionQuoteTableApp/Endpoint.swift b/Samples/VisionQuoteTableApp/Endpoint.swift deleted file mode 100644 index 81fe05af6..000000000 --- a/Samples/VisionQuoteTableApp/Endpoint.swift +++ /dev/null @@ -1,74 +0,0 @@ -// -// Copyright (C) 2023 Devexperts LLC. All rights reserved. -// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. -// If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. -// - -import Foundation -import DXFeedFramework - -class Endpoint: Hashable, ObservableObject { - @Published var state = DXEndpointState.notConnected - private var endpoint: DXEndpoint? - private var subscription: DXFeedSubcription? - private var profileSubscription: DXFeedSubcription? - private weak var dataSource: DataSource? - - static func == (lhs: Endpoint, rhs: Endpoint) -> Bool { - return lhs.hashValue == rhs.hashValue - } - - func hash(into hasher: inout Hasher) { - hasher.combine("\(self):\(stringReference(self))") - } - - func subscribe(address: String, symbols: [String]) { - if endpoint != nil { - try? endpoint?.disconnect() - subscription = nil - profileSubscription = nil - } - try? SystemProperty.setProperty(DXEndpoint.ExtraPropery.heartBeatTimeout.rawValue, "10s") - - let builder = try? DXEndpoint.builder().withRole(.feed) - _ = try? builder?.withProperty(DXEndpoint.Property.aggregationPeriod.rawValue, "1") - endpoint = try? builder?.build() - endpoint?.add(self) - try? endpoint?.connect(address) - - subscription = try? endpoint?.getFeed()?.createSubscription(.quote) - profileSubscription = try? endpoint?.getFeed()?.createSubscription(.profile) - try? subscription?.add(self) - try? profileSubscription?.add(self) - try? subscription?.addSymbols(symbols) - try? profileSubscription?.addSymbols(symbols) - } - - func addDataSource(_ dataSource: DataSource) { - self.dataSource = dataSource - } -} - -extension Endpoint: DXEventListener { - func receiveEvents(_ events: [MarketEvent]) { - - events.forEach { event in - switch event.type { - case .quote: - dataSource?.update(event.quote) - case .profile: - dataSource?.update(event.profile) - default: - print(event) - } - } - } -} - -extension Endpoint: DXEndpointObserver { - func endpointDidChangeState(old: DXEndpointState, new: DXEndpointState) { - DispatchQueue.main.async { - self.state = new - } - } -} diff --git a/Samples/VisionQuoteTableApp/Preview Content/Preview Assets.xcassets/Contents.json b/Samples/VisionQuoteTableApp/Preview Content/Preview Assets.xcassets/Contents.json deleted file mode 100644 index 73c00596a..000000000 --- a/Samples/VisionQuoteTableApp/Preview Content/Preview Assets.xcassets/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/Samples/VisionQuoteTableApp/QuoteView.swift b/Samples/VisionQuoteTableApp/QuoteView.swift deleted file mode 100644 index 86b827c96..000000000 --- a/Samples/VisionQuoteTableApp/QuoteView.swift +++ /dev/null @@ -1,42 +0,0 @@ -// -// Copyright (C) 2023 Devexperts LLC. All rights reserved. -// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. -// If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. -// - -import SwiftUI - -struct QuoteView: View { - @ObservedObject var item: QuoteViewModel - - var body: some View { - GeometryReader { metrics in - HStack(spacing: 10) { - Text(item.title) - .padding(.leading, 10) - .frame(maxHeight: .infinity) - Spacer() - HStack(spacing: 2) { - Text(item.bidPrice) - .frame(maxWidth: .infinity, maxHeight: .infinity) - .background(Color(item.bidColor)) - Text(item.askPrice) - .frame(maxWidth: .infinity, maxHeight: .infinity) - .background(Color(item.askColor)) - } - .cornerRadius(10) - .padding(.top, 5) - .padding(.bottom, 5) - .frame(width: metrics.size.width * 0.4) - } - .padding(.trailing, 10) - .background( - RoundedRectangle(cornerRadius: 10).foregroundColor(.cellBackground) - ) - } - } -} - -#Preview { - QuoteView(item: QuoteViewModel(symbol: "APPL")) -} diff --git a/Samples/VisionQuoteTableApp/QuoteViewModel.swift b/Samples/VisionQuoteTableApp/QuoteViewModel.swift deleted file mode 100644 index be6d921ec..000000000 --- a/Samples/VisionQuoteTableApp/QuoteViewModel.swift +++ /dev/null @@ -1,66 +0,0 @@ -// -// Copyright (C) 2023 Devexperts LLC. All rights reserved. -// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. -// If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. -// - -import Foundation -import UIKit - -class QuoteViewModel: Identifiable, Hashable, ObservableObject { - var id: String = "" - @Published var title = "" - @Published var askPrice = "" - @Published var askColor = UIColor.priceBackground - @Published var bidPrice = "" - @Published var bidColor = UIColor.priceBackground - - private var symbol = "" - private var previousAskPrice = 0.0 - private var previousBidPrice = 0.0 - - static private var numberFormatter: NumberFormatter = { - let formatter = NumberFormatter() - formatter.minimumFractionDigits = 0 - formatter.maximumFractionDigits = 4 - return formatter - }() - - func hash(into hasher: inout Hasher) { - hasher.combine(symbol) - } - - static func == (lhs: QuoteViewModel, rhs: QuoteViewModel) -> Bool { - lhs.symbol == rhs.symbol - } - - init(symbol: String) { - self.id = symbol - self.symbol = symbol - updateDescription("") - } - - func updateDescription(_ desc: String) { - self.title = "\(self.symbol)\n\(desc)" - } - - func updatePrice(ask: Double, bid: Double) { - self.askPrice = QuoteViewModel.numberFormatter.string(from: NSNumber(value: ask) ) ?? "" - self.askColor = newPriceColor(current: ask, previous: previousAskPrice) - self.previousAskPrice = ask - self.bidPrice = QuoteViewModel.numberFormatter.string(from: NSNumber(value: bid) ) ?? "" - self.bidColor = newPriceColor(current: bid, previous: previousBidPrice) - self.previousBidPrice = bid - } - - private func newPriceColor(current: Double, previous: Double) -> UIColor { - if previous == 0 { - return .priceBackground - } - if current > previous { - return .greenBackground - } else { - return .redBackground - } - } -} diff --git a/Samples/VisionQuoteTableApp/VisionQuoteTableAppApp.swift b/Samples/VisionQuoteTableApp/VisionQuoteTableAppApp.swift deleted file mode 100644 index eb74c8a4e..000000000 --- a/Samples/VisionQuoteTableApp/VisionQuoteTableAppApp.swift +++ /dev/null @@ -1,18 +0,0 @@ -// -// Copyright (C) 2023 Devexperts LLC. All rights reserved. -// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. -// If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. -// - -import SwiftUI - -@main -struct VisionQuoteTableAppApp: App { - let endpoint = Endpoint() - - var body: some Scene { - WindowGroup { - ContentView() - } - } -}