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 d13d37af2..000000000 Binary files a/Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Back.solidimagestacklayer/Content.imageset/dxfeed_black-sym.svg.png and /dev/null differ 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 d13d37af2..000000000 Binary files a/Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Front.solidimagestacklayer/Content.imageset/dxfeed_black-sym.svg.png and /dev/null differ 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 d13d37af2..000000000 Binary files a/Samples/VisionQuoteTableApp/Assets.xcassets/AppIcon.solidimagestack/Middle.solidimagestacklayer/Content.imageset/dxfeed_black-sym.svg.png and /dev/null differ 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() - } - } -}