From d3c192042d1a3ec3c49b58c848eed386597fa743 Mon Sep 17 00:00:00 2001 From: Dzmitry Buynovskiy Date: Sun, 18 Oct 2020 22:06:16 +0300 Subject: [PATCH] transfered --- HyberSDK.xcodeproj/project.pbxproj | 358 ++++++++---------- .../contents.xcworkspacedata | 2 +- .../UserInterfaceState.xcuserstate | Bin 62266 -> 22297 bytes .../xcschemes/xcschememanagement.plist | 7 +- HyberSDK.xcworkspace/contents.xcworkspacedata | 4 +- .../UserInterfaceState.xcuserstate | Bin 125903 -> 33416 bytes HyberSDK/HyberSDK.h | 11 +- HyberSDK/HyberSDK.swift | 9 +- HyberSDK/Info.plist | 2 +- HyberSDK/api/hyber_adapter.swift | 91 +++-- HyberSDK/logger/Formatters.swift | 2 +- HyberSDK/logger/Themes.swift | 2 +- HyberSDK/logger/Utilities.swift | 2 +- HyberSDK/settings/add_functions.swift | 8 +- HyberSDK/settings/hyber_answer_func.swift | 3 +- HyberSDK/settings/json_parser.swift | 2 +- HyberSDK/settings/params.swift | 57 ++- HyberSDKTests/HyberSDKTests.swift | 22 +- Podfile | 18 +- Podfile.lock | 36 +- 20 files changed, 342 insertions(+), 294 deletions(-) diff --git a/HyberSDK.xcodeproj/project.pbxproj b/HyberSDK.xcodeproj/project.pbxproj index a65ddf3..571d855 100644 --- a/HyberSDK.xcodeproj/project.pbxproj +++ b/HyberSDK.xcodeproj/project.pbxproj @@ -7,185 +7,150 @@ objects = { /* Begin PBXBuildFile section */ - 84AF4BB42680417D28DA05F6 /* Pods_HyberSDKTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1295B97E627984950D159887 /* Pods_HyberSDKTests.framework */; }; - BA5EE3CA238AD4BB00D2AA12 /* HyberSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BA5EE3C0238AD4BB00D2AA12 /* HyberSDK.framework */; }; - BA5EE3CF238AD4BB00D2AA12 /* HyberSDKTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA5EE3CE238AD4BB00D2AA12 /* HyberSDKTests.swift */; }; - BA5EE3D1238AD4BB00D2AA12 /* HyberSDK.h in Headers */ = {isa = PBXBuildFile; fileRef = BA5EE3C3238AD4BB00D2AA12 /* HyberSDK.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BA5EE3DB238ADAD800D2AA12 /* HyberSDK.podspec in Resources */ = {isa = PBXBuildFile; fileRef = BA5EE3DA238ADAD800D2AA12 /* HyberSDK.podspec */; }; - BA5EE3DF238ADB1B00D2AA12 /* HyberSDK.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA5EE3DE238ADB1B00D2AA12 /* HyberSDK.swift */; }; - BA5EE3E1238ADB2D00D2AA12 /* BridgingHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = BA5EE3E0238ADB2D00D2AA12 /* BridgingHeader.h */; }; - BA5EE3EF238ADB8C00D2AA12 /* hyber_adapter.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA5EE3EE238ADB8C00D2AA12 /* hyber_adapter.swift */; }; - BA5EE404238ADBD900D2AA12 /* Formatters.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA5EE3FC238ADBD800D2AA12 /* Formatters.swift */; }; - BA5EE405238ADBD900D2AA12 /* HyberLogger.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA5EE3FD238ADBD900D2AA12 /* HyberLogger.swift */; }; - BA5EE406238ADBD900D2AA12 /* Log.h in Headers */ = {isa = PBXBuildFile; fileRef = BA5EE3FE238ADBD900D2AA12 /* Log.h */; }; - BA5EE407238ADBD900D2AA12 /* Utilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA5EE3FF238ADBD900D2AA12 /* Utilities.swift */; }; - BA5EE408238ADBD900D2AA12 /* Theme.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA5EE400238ADBD900D2AA12 /* Theme.swift */; }; - BA5EE409238ADBD900D2AA12 /* Formatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA5EE401238ADBD900D2AA12 /* Formatter.swift */; }; - BA5EE40A238ADBD900D2AA12 /* Benchmarker.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA5EE402238ADBD900D2AA12 /* Benchmarker.swift */; }; - BA5EE40B238ADBD900D2AA12 /* Themes.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA5EE403238ADBD900D2AA12 /* Themes.swift */; }; - BA5EE410238ADBF900D2AA12 /* hyber_answer_func.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA5EE40D238ADBF800D2AA12 /* hyber_answer_func.swift */; }; - BA5EE411238ADBF900D2AA12 /* params.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA5EE40E238ADBF900D2AA12 /* params.swift */; }; - BA5EE412238ADBF900D2AA12 /* add_functions.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA5EE40F238ADBF900D2AA12 /* add_functions.swift */; }; - BA9189DE2431131B00E16F9B /* json_parser.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA9189DD2431131B00E16F9B /* json_parser.swift */; }; - CC916915F8094B14C0A07743 /* Pods_HyberSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AC4881CAE50F2D196BDBD3AC /* Pods_HyberSDK.framework */; }; + 21CF6E7C440E8C87EFF44A94 /* Pods_HyberSDKTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 36BCB4E46C2F114CEAD245C7 /* Pods_HyberSDKTests.framework */; }; + BA1C39F6253CB69000052185 /* HyberSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BA1C39EC253CB69000052185 /* HyberSDK.framework */; }; + BA1C39FB253CB69000052185 /* HyberSDKTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA1C39FA253CB69000052185 /* HyberSDKTests.swift */; }; + BA1C39FD253CB69000052185 /* HyberSDK.h in Headers */ = {isa = PBXBuildFile; fileRef = BA1C39EF253CB69000052185 /* HyberSDK.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BA1C3A07253CB8B600052185 /* BridgingHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = BA1C3A06253CB8B600052185 /* BridgingHeader.h */; }; + BA1C3A09253CB91100052185 /* HyberSDK.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA1C3A08253CB91100052185 /* HyberSDK.swift */; }; + BA8D3413253CC128005BDC33 /* add_functions.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA8D3412253CC128005BDC33 /* add_functions.swift */; }; + BA8D3417253CC12E005BDC33 /* json_parser.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA8D3414253CC12E005BDC33 /* json_parser.swift */; }; + BA8D3418253CC12E005BDC33 /* hyber_answer_func.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA8D3415253CC12E005BDC33 /* hyber_answer_func.swift */; }; + BA8D3419253CC12E005BDC33 /* params.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA8D3416253CC12E005BDC33 /* params.swift */; }; + BA8D341C253CC14A005BDC33 /* hyber_adapter.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA8D341B253CC14A005BDC33 /* hyber_adapter.swift */; }; + C04482AA53327CA7596F1B6C /* Pods_HyberSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BE323D9F391699D4AA1D26E /* Pods_HyberSDK.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - BA5EE3CB238AD4BB00D2AA12 /* PBXContainerItemProxy */ = { + BA1C39F7253CB69000052185 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = BA5EE3B7238AD4BB00D2AA12 /* Project object */; + containerPortal = BA1C39E3253CB68F00052185 /* Project object */; proxyType = 1; - remoteGlobalIDString = BA5EE3BF238AD4BB00D2AA12; - remoteInfo = "Hyber-SDK-iOS"; + remoteGlobalIDString = BA1C39EB253CB69000052185; + remoteInfo = HyberSDK; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 1295B97E627984950D159887 /* Pods_HyberSDKTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_HyberSDKTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 5B664CB4F2EF3BABC37013AC /* Pods-HyberSDK.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HyberSDK.debug.xcconfig"; path = "Target Support Files/Pods-HyberSDK/Pods-HyberSDK.debug.xcconfig"; sourceTree = ""; }; - AC4881CAE50F2D196BDBD3AC /* Pods_HyberSDK.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_HyberSDK.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - BA5EE3C0238AD4BB00D2AA12 /* HyberSDK.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = HyberSDK.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - BA5EE3C3238AD4BB00D2AA12 /* HyberSDK.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HyberSDK.h; sourceTree = ""; }; - BA5EE3C4238AD4BB00D2AA12 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - BA5EE3C9238AD4BB00D2AA12 /* HyberSDKTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = HyberSDKTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - BA5EE3CE238AD4BB00D2AA12 /* HyberSDKTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HyberSDKTests.swift; sourceTree = ""; }; - BA5EE3D0238AD4BB00D2AA12 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - BA5EE3DA238ADAD800D2AA12 /* HyberSDK.podspec */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = HyberSDK.podspec; sourceTree = ""; }; - BA5EE3DE238ADB1B00D2AA12 /* HyberSDK.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HyberSDK.swift; sourceTree = ""; }; - BA5EE3E0238ADB2D00D2AA12 /* BridgingHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BridgingHeader.h; sourceTree = ""; }; - BA5EE3EE238ADB8C00D2AA12 /* hyber_adapter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = hyber_adapter.swift; sourceTree = ""; }; - BA5EE3FC238ADBD800D2AA12 /* Formatters.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Formatters.swift; sourceTree = ""; }; - BA5EE3FD238ADBD900D2AA12 /* HyberLogger.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HyberLogger.swift; sourceTree = ""; }; - BA5EE3FE238ADBD900D2AA12 /* Log.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Log.h; sourceTree = ""; }; - BA5EE3FF238ADBD900D2AA12 /* Utilities.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Utilities.swift; sourceTree = ""; }; - BA5EE400238ADBD900D2AA12 /* Theme.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Theme.swift; sourceTree = ""; }; - BA5EE401238ADBD900D2AA12 /* Formatter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Formatter.swift; sourceTree = ""; }; - BA5EE402238ADBD900D2AA12 /* Benchmarker.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Benchmarker.swift; sourceTree = ""; }; - BA5EE403238ADBD900D2AA12 /* Themes.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Themes.swift; sourceTree = ""; }; - BA5EE40D238ADBF800D2AA12 /* hyber_answer_func.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = hyber_answer_func.swift; sourceTree = ""; }; - BA5EE40E238ADBF900D2AA12 /* params.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = params.swift; sourceTree = ""; }; - BA5EE40F238ADBF900D2AA12 /* add_functions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = add_functions.swift; sourceTree = ""; }; - BA9189DD2431131B00E16F9B /* json_parser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = json_parser.swift; sourceTree = ""; }; - CA9147BC9AACA1046DFDCE57 /* Pods-HyberSDKTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HyberSDKTests.release.xcconfig"; path = "Target Support Files/Pods-HyberSDKTests/Pods-HyberSDKTests.release.xcconfig"; sourceTree = ""; }; - E94C6B52F27BF51249CA43A0 /* Pods-HyberSDKTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HyberSDKTests.debug.xcconfig"; path = "Target Support Files/Pods-HyberSDKTests/Pods-HyberSDKTests.debug.xcconfig"; sourceTree = ""; }; - FDD587900A8D050CA604C9BE /* Pods-HyberSDK.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HyberSDK.release.xcconfig"; path = "Target Support Files/Pods-HyberSDK/Pods-HyberSDK.release.xcconfig"; sourceTree = ""; }; + 003A391C970765D29E44B64E /* Pods-HyberSDK.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HyberSDK.release.xcconfig"; path = "Target Support Files/Pods-HyberSDK/Pods-HyberSDK.release.xcconfig"; sourceTree = ""; }; + 24F0FA61899A8D22630BD9D3 /* Pods-HyberSDKTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HyberSDKTests.release.xcconfig"; path = "Target Support Files/Pods-HyberSDKTests/Pods-HyberSDKTests.release.xcconfig"; sourceTree = ""; }; + 2BE6F119B5BC34CF931A6318 /* Pods-HyberSDK.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HyberSDK.debug.xcconfig"; path = "Target Support Files/Pods-HyberSDK/Pods-HyberSDK.debug.xcconfig"; sourceTree = ""; }; + 36BCB4E46C2F114CEAD245C7 /* Pods_HyberSDKTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_HyberSDKTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 62EFA8335FEA29B595B9A5BB /* Pods-HyberSDKTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HyberSDKTests.debug.xcconfig"; path = "Target Support Files/Pods-HyberSDKTests/Pods-HyberSDKTests.debug.xcconfig"; sourceTree = ""; }; + 8BE323D9F391699D4AA1D26E /* Pods_HyberSDK.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_HyberSDK.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + BA1C39EC253CB69000052185 /* HyberSDK.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = HyberSDK.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + BA1C39EF253CB69000052185 /* HyberSDK.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HyberSDK.h; sourceTree = ""; }; + BA1C39F0253CB69000052185 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + BA1C39F5253CB69000052185 /* HyberSDKTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = HyberSDKTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + BA1C39FA253CB69000052185 /* HyberSDKTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HyberSDKTests.swift; sourceTree = ""; }; + BA1C39FC253CB69000052185 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + BA1C3A06253CB8B600052185 /* BridgingHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BridgingHeader.h; sourceTree = ""; }; + BA1C3A08253CB91100052185 /* HyberSDK.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HyberSDK.swift; sourceTree = ""; }; + BA8D3412253CC128005BDC33 /* add_functions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = add_functions.swift; sourceTree = ""; }; + BA8D3414253CC12E005BDC33 /* json_parser.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = json_parser.swift; sourceTree = ""; }; + BA8D3415253CC12E005BDC33 /* hyber_answer_func.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = hyber_answer_func.swift; sourceTree = ""; }; + BA8D3416253CC12E005BDC33 /* params.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = params.swift; sourceTree = ""; }; + BA8D341B253CC14A005BDC33 /* hyber_adapter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = hyber_adapter.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - BA5EE3BD238AD4BB00D2AA12 /* Frameworks */ = { + BA1C39E9253CB69000052185 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - CC916915F8094B14C0A07743 /* Pods_HyberSDK.framework in Frameworks */, + C04482AA53327CA7596F1B6C /* Pods_HyberSDK.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - BA5EE3C6238AD4BB00D2AA12 /* Frameworks */ = { + BA1C39F2253CB69000052185 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - BA5EE3CA238AD4BB00D2AA12 /* HyberSDK.framework in Frameworks */, - 84AF4BB42680417D28DA05F6 /* Pods_HyberSDKTests.framework in Frameworks */, + BA1C39F6253CB69000052185 /* HyberSDK.framework in Frameworks */, + 21CF6E7C440E8C87EFF44A94 /* Pods_HyberSDKTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 68815D19F0ED8193B1A082BB /* Frameworks */ = { + 575507AECB6C51AC3B742480 /* Frameworks */ = { isa = PBXGroup; children = ( - AC4881CAE50F2D196BDBD3AC /* Pods_HyberSDK.framework */, - 1295B97E627984950D159887 /* Pods_HyberSDKTests.framework */, + 8BE323D9F391699D4AA1D26E /* Pods_HyberSDK.framework */, + 36BCB4E46C2F114CEAD245C7 /* Pods_HyberSDKTests.framework */, ); name = Frameworks; sourceTree = ""; }; - BA5EE3B6238AD4BB00D2AA12 = { + BA1C39E2253CB68F00052185 = { isa = PBXGroup; children = ( - BA5EE3DA238ADAD800D2AA12 /* HyberSDK.podspec */, - BA5EE3C2238AD4BB00D2AA12 /* HyberSDK */, - BA5EE3CD238AD4BB00D2AA12 /* HyberSDKTests */, - BA5EE3C1238AD4BB00D2AA12 /* Products */, - EBCB302523BFA044958CB5CB /* Pods */, - 68815D19F0ED8193B1A082BB /* Frameworks */, + BA1C39EE253CB69000052185 /* HyberSDK */, + BA1C39F9253CB69000052185 /* HyberSDKTests */, + BA1C39ED253CB69000052185 /* Products */, + E9D77FC4D04AFBB6DE599CAA /* Pods */, + 575507AECB6C51AC3B742480 /* Frameworks */, ); sourceTree = ""; }; - BA5EE3C1238AD4BB00D2AA12 /* Products */ = { + BA1C39ED253CB69000052185 /* Products */ = { isa = PBXGroup; children = ( - BA5EE3C0238AD4BB00D2AA12 /* HyberSDK.framework */, - BA5EE3C9238AD4BB00D2AA12 /* HyberSDKTests.xctest */, + BA1C39EC253CB69000052185 /* HyberSDK.framework */, + BA1C39F5253CB69000052185 /* HyberSDKTests.xctest */, ); name = Products; sourceTree = ""; }; - BA5EE3C2238AD4BB00D2AA12 /* HyberSDK */ = { + BA1C39EE253CB69000052185 /* HyberSDK */ = { isa = PBXGroup; children = ( - BA5EE40C238ADBE400D2AA12 /* settings */, - BA5EE3FB238ADBC900D2AA12 /* logger */, - BA5EE3ED238ADB7900D2AA12 /* api */, - BA5EE3C3238AD4BB00D2AA12 /* HyberSDK.h */, - BA5EE3C4238AD4BB00D2AA12 /* Info.plist */, - BA5EE3E0238ADB2D00D2AA12 /* BridgingHeader.h */, - BA5EE3DE238ADB1B00D2AA12 /* HyberSDK.swift */, + BA8D341A253CC142005BDC33 /* api */, + BA8D3411253CC117005BDC33 /* settings */, + BA1C3A08253CB91100052185 /* HyberSDK.swift */, + BA1C3A06253CB8B600052185 /* BridgingHeader.h */, + BA1C39EF253CB69000052185 /* HyberSDK.h */, + BA1C39F0253CB69000052185 /* Info.plist */, ); path = HyberSDK; sourceTree = ""; }; - BA5EE3CD238AD4BB00D2AA12 /* HyberSDKTests */ = { + BA1C39F9253CB69000052185 /* HyberSDKTests */ = { isa = PBXGroup; children = ( - BA5EE3CE238AD4BB00D2AA12 /* HyberSDKTests.swift */, - BA5EE3D0238AD4BB00D2AA12 /* Info.plist */, + BA1C39FA253CB69000052185 /* HyberSDKTests.swift */, + BA1C39FC253CB69000052185 /* Info.plist */, ); path = HyberSDKTests; sourceTree = ""; }; - BA5EE3ED238ADB7900D2AA12 /* api */ = { + BA8D3411253CC117005BDC33 /* settings */ = { isa = PBXGroup; children = ( - BA5EE3EE238ADB8C00D2AA12 /* hyber_adapter.swift */, + BA8D3415253CC12E005BDC33 /* hyber_answer_func.swift */, + BA8D3414253CC12E005BDC33 /* json_parser.swift */, + BA8D3416253CC12E005BDC33 /* params.swift */, + BA8D3412253CC128005BDC33 /* add_functions.swift */, ); - path = api; - sourceTree = ""; - }; - BA5EE3FB238ADBC900D2AA12 /* logger */ = { - isa = PBXGroup; - children = ( - BA5EE402238ADBD900D2AA12 /* Benchmarker.swift */, - BA5EE401238ADBD900D2AA12 /* Formatter.swift */, - BA5EE3FC238ADBD800D2AA12 /* Formatters.swift */, - BA5EE3FD238ADBD900D2AA12 /* HyberLogger.swift */, - BA5EE3FE238ADBD900D2AA12 /* Log.h */, - BA5EE400238ADBD900D2AA12 /* Theme.swift */, - BA5EE403238ADBD900D2AA12 /* Themes.swift */, - BA5EE3FF238ADBD900D2AA12 /* Utilities.swift */, - ); - path = logger; + path = settings; sourceTree = ""; }; - BA5EE40C238ADBE400D2AA12 /* settings */ = { + BA8D341A253CC142005BDC33 /* api */ = { isa = PBXGroup; children = ( - BA5EE40F238ADBF900D2AA12 /* add_functions.swift */, - BA5EE40D238ADBF800D2AA12 /* hyber_answer_func.swift */, - BA5EE40E238ADBF900D2AA12 /* params.swift */, - BA9189DD2431131B00E16F9B /* json_parser.swift */, + BA8D341B253CC14A005BDC33 /* hyber_adapter.swift */, ); - path = settings; + path = api; sourceTree = ""; }; - EBCB302523BFA044958CB5CB /* Pods */ = { + E9D77FC4D04AFBB6DE599CAA /* Pods */ = { isa = PBXGroup; children = ( - 5B664CB4F2EF3BABC37013AC /* Pods-HyberSDK.debug.xcconfig */, - FDD587900A8D050CA604C9BE /* Pods-HyberSDK.release.xcconfig */, - E94C6B52F27BF51249CA43A0 /* Pods-HyberSDKTests.debug.xcconfig */, - CA9147BC9AACA1046DFDCE57 /* Pods-HyberSDKTests.release.xcconfig */, + 2BE6F119B5BC34CF931A6318 /* Pods-HyberSDK.debug.xcconfig */, + 003A391C970765D29E44B64E /* Pods-HyberSDK.release.xcconfig */, + 62EFA8335FEA29B595B9A5BB /* Pods-HyberSDKTests.debug.xcconfig */, + 24F0FA61899A8D22630BD9D3 /* Pods-HyberSDKTests.release.xcconfig */, ); path = Pods; sourceTree = ""; @@ -193,104 +158,103 @@ /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - BA5EE3BB238AD4BB00D2AA12 /* Headers */ = { + BA1C39E7253CB69000052185 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - BA5EE406238ADBD900D2AA12 /* Log.h in Headers */, - BA5EE3D1238AD4BB00D2AA12 /* HyberSDK.h in Headers */, - BA5EE3E1238ADB2D00D2AA12 /* BridgingHeader.h in Headers */, + BA1C39FD253CB69000052185 /* HyberSDK.h in Headers */, + BA1C3A07253CB8B600052185 /* BridgingHeader.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - BA5EE3BF238AD4BB00D2AA12 /* HyberSDK */ = { + BA1C39EB253CB69000052185 /* HyberSDK */ = { isa = PBXNativeTarget; - buildConfigurationList = BA5EE3D4238AD4BB00D2AA12 /* Build configuration list for PBXNativeTarget "HyberSDK" */; + buildConfigurationList = BA1C3A00253CB69000052185 /* Build configuration list for PBXNativeTarget "HyberSDK" */; buildPhases = ( - 94F7526C011031545E11584C /* [CP] Check Pods Manifest.lock */, - BA5EE3BB238AD4BB00D2AA12 /* Headers */, - BA5EE3BC238AD4BB00D2AA12 /* Sources */, - BA5EE3BD238AD4BB00D2AA12 /* Frameworks */, - BA5EE3BE238AD4BB00D2AA12 /* Resources */, + 16588151377DBC2EBB646DB2 /* [CP] Check Pods Manifest.lock */, + BA1C39E7253CB69000052185 /* Headers */, + BA1C39E8253CB69000052185 /* Sources */, + BA1C39E9253CB69000052185 /* Frameworks */, + BA1C39EA253CB69000052185 /* Resources */, ); buildRules = ( ); dependencies = ( ); name = HyberSDK; - productName = "Hyber-SDK-iOS"; - productReference = BA5EE3C0238AD4BB00D2AA12 /* HyberSDK.framework */; + productName = HyberSDK; + productReference = BA1C39EC253CB69000052185 /* HyberSDK.framework */; productType = "com.apple.product-type.framework"; }; - BA5EE3C8238AD4BB00D2AA12 /* HyberSDKTests */ = { + BA1C39F4253CB69000052185 /* HyberSDKTests */ = { isa = PBXNativeTarget; - buildConfigurationList = BA5EE3D7238AD4BB00D2AA12 /* Build configuration list for PBXNativeTarget "HyberSDKTests" */; + buildConfigurationList = BA1C3A03253CB69000052185 /* Build configuration list for PBXNativeTarget "HyberSDKTests" */; buildPhases = ( - A156AE0838550FBF11546E51 /* [CP] Check Pods Manifest.lock */, - BA5EE3C5238AD4BB00D2AA12 /* Sources */, - BA5EE3C6238AD4BB00D2AA12 /* Frameworks */, - BA5EE3C7238AD4BB00D2AA12 /* Resources */, + 99CA9D1CDAD13CBFE480590A /* [CP] Check Pods Manifest.lock */, + BA1C39F1253CB69000052185 /* Sources */, + BA1C39F2253CB69000052185 /* Frameworks */, + BA1C39F3253CB69000052185 /* Resources */, + 849CC2287BC371ADD423DD46 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); dependencies = ( - BA5EE3CC238AD4BB00D2AA12 /* PBXTargetDependency */, + BA1C39F8253CB69000052185 /* PBXTargetDependency */, ); name = HyberSDKTests; - productName = "Hyber-SDK-iOSTests"; - productReference = BA5EE3C9238AD4BB00D2AA12 /* HyberSDKTests.xctest */; + productName = HyberSDKTests; + productReference = BA1C39F5253CB69000052185 /* HyberSDKTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - BA5EE3B7238AD4BB00D2AA12 /* Project object */ = { + BA1C39E3253CB68F00052185 /* Project object */ = { isa = PBXProject; attributes = { LastSwiftUpdateCheck = 1020; LastUpgradeCheck = 1020; - ORGANIZATIONNAME = GMS; + ORGANIZATIONNAME = HYBER; TargetAttributes = { - BA5EE3BF238AD4BB00D2AA12 = { + BA1C39EB253CB69000052185 = { CreatedOnToolsVersion = 10.2.1; LastSwiftMigration = 1020; }; - BA5EE3C8238AD4BB00D2AA12 = { + BA1C39F4253CB69000052185 = { CreatedOnToolsVersion = 10.2.1; }; }; }; - buildConfigurationList = BA5EE3BA238AD4BB00D2AA12 /* Build configuration list for PBXProject "HyberSDK" */; + buildConfigurationList = BA1C39E6253CB68F00052185 /* Build configuration list for PBXProject "HyberSDK" */; compatibilityVersion = "Xcode 9.3"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, ); - mainGroup = BA5EE3B6238AD4BB00D2AA12; - productRefGroup = BA5EE3C1238AD4BB00D2AA12 /* Products */; + mainGroup = BA1C39E2253CB68F00052185; + productRefGroup = BA1C39ED253CB69000052185 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - BA5EE3BF238AD4BB00D2AA12 /* HyberSDK */, - BA5EE3C8238AD4BB00D2AA12 /* HyberSDKTests */, + BA1C39EB253CB69000052185 /* HyberSDK */, + BA1C39F4253CB69000052185 /* HyberSDKTests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - BA5EE3BE238AD4BB00D2AA12 /* Resources */ = { + BA1C39EA253CB69000052185 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - BA5EE3DB238ADAD800D2AA12 /* HyberSDK.podspec in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - BA5EE3C7238AD4BB00D2AA12 /* Resources */ = { + BA1C39F3253CB69000052185 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -300,7 +264,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 94F7526C011031545E11584C /* [CP] Check Pods Manifest.lock */ = { + 16588151377DBC2EBB646DB2 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -322,7 +286,24 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - A156AE0838550FBF11546E51 /* [CP] Check Pods Manifest.lock */ = { + 849CC2287BC371ADD423DD46 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-HyberSDKTests/Pods-HyberSDKTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-HyberSDKTests/Pods-HyberSDKTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-HyberSDKTests/Pods-HyberSDKTests-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 99CA9D1CDAD13CBFE480590A /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -347,46 +328,39 @@ /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - BA5EE3BC238AD4BB00D2AA12 /* Sources */ = { + BA1C39E8253CB69000052185 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - BA5EE405238ADBD900D2AA12 /* HyberLogger.swift in Sources */, - BA5EE3EF238ADB8C00D2AA12 /* hyber_adapter.swift in Sources */, - BA5EE410238ADBF900D2AA12 /* hyber_answer_func.swift in Sources */, - BA5EE404238ADBD900D2AA12 /* Formatters.swift in Sources */, - BA5EE407238ADBD900D2AA12 /* Utilities.swift in Sources */, - BA5EE40B238ADBD900D2AA12 /* Themes.swift in Sources */, - BA5EE40A238ADBD900D2AA12 /* Benchmarker.swift in Sources */, - BA5EE412238ADBF900D2AA12 /* add_functions.swift in Sources */, - BA5EE408238ADBD900D2AA12 /* Theme.swift in Sources */, - BA5EE409238ADBD900D2AA12 /* Formatter.swift in Sources */, - BA5EE411238ADBF900D2AA12 /* params.swift in Sources */, - BA5EE3DF238ADB1B00D2AA12 /* HyberSDK.swift in Sources */, - BA9189DE2431131B00E16F9B /* json_parser.swift in Sources */, + BA8D341C253CC14A005BDC33 /* hyber_adapter.swift in Sources */, + BA8D3417253CC12E005BDC33 /* json_parser.swift in Sources */, + BA1C3A09253CB91100052185 /* HyberSDK.swift in Sources */, + BA8D3418253CC12E005BDC33 /* hyber_answer_func.swift in Sources */, + BA8D3413253CC128005BDC33 /* add_functions.swift in Sources */, + BA8D3419253CC12E005BDC33 /* params.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - BA5EE3C5238AD4BB00D2AA12 /* Sources */ = { + BA1C39F1253CB69000052185 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - BA5EE3CF238AD4BB00D2AA12 /* HyberSDKTests.swift in Sources */, + BA1C39FB253CB69000052185 /* HyberSDKTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - BA5EE3CC238AD4BB00D2AA12 /* PBXTargetDependency */ = { + BA1C39F8253CB69000052185 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = BA5EE3BF238AD4BB00D2AA12 /* HyberSDK */; - targetProxy = BA5EE3CB238AD4BB00D2AA12 /* PBXContainerItemProxy */; + target = BA1C39EB253CB69000052185 /* HyberSDK */; + targetProxy = BA1C39F7253CB69000052185 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - BA5EE3D2238AD4BB00D2AA12 /* Debug */ = { + BA1C39FE253CB69000052185 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -450,7 +424,7 @@ }; name = Debug; }; - BA5EE3D3238AD4BB00D2AA12 /* Release */ = { + BA1C39FF253CB69000052185 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -508,9 +482,9 @@ }; name = Release; }; - BA5EE3D5238AD4BB00D2AA12 /* Debug */ = { + BA1C3A01253CB69000052185 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5B664CB4F2EF3BABC37013AC /* Pods-HyberSDK.debug.xcconfig */; + baseConfigurationReference = 2BE6F119B5BC34CF931A6318 /* Pods-HyberSDK.debug.xcconfig */; buildSettings = { CLANG_ENABLE_MODULES = YES; CODE_SIGN_IDENTITY = ""; @@ -520,7 +494,7 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "$(SRCROOT)/HyberSDK/Info.plist"; + INFOPLIST_FILE = HyberSDK/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -536,9 +510,9 @@ }; name = Debug; }; - BA5EE3D6238AD4BB00D2AA12 /* Release */ = { + BA1C3A02253CB69000052185 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FDD587900A8D050CA604C9BE /* Pods-HyberSDK.release.xcconfig */; + baseConfigurationReference = 003A391C970765D29E44B64E /* Pods-HyberSDK.release.xcconfig */; buildSettings = { CLANG_ENABLE_MODULES = YES; CODE_SIGN_IDENTITY = ""; @@ -548,7 +522,7 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "$(SRCROOT)/HyberSDK/Info.plist"; + INFOPLIST_FILE = HyberSDK/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -563,40 +537,40 @@ }; name = Release; }; - BA5EE3D8238AD4BB00D2AA12 /* Debug */ = { + BA1C3A04253CB69000052185 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E94C6B52F27BF51249CA43A0 /* Pods-HyberSDKTests.debug.xcconfig */; + baseConfigurationReference = 62EFA8335FEA29B595B9A5BB /* Pods-HyberSDKTests.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = 74UT6QD789; - INFOPLIST_FILE = "Hyber-SDK-iOSTests/Info.plist"; + INFOPLIST_FILE = HyberSDKTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", "@loader_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = "com.hyber.ios.hybersdkios.Hyber-SDK-iOSTests"; + PRODUCT_BUNDLE_IDENTIFIER = com.hyber.ios.hybersdkios.HyberSDKTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; - BA5EE3D9238AD4BB00D2AA12 /* Release */ = { + BA1C3A05253CB69000052185 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CA9147BC9AACA1046DFDCE57 /* Pods-HyberSDKTests.release.xcconfig */; + baseConfigurationReference = 24F0FA61899A8D22630BD9D3 /* Pods-HyberSDKTests.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = 74UT6QD789; - INFOPLIST_FILE = "Hyber-SDK-iOSTests/Info.plist"; + INFOPLIST_FILE = HyberSDKTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", "@loader_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = "com.hyber.ios.hybersdkios.Hyber-SDK-iOSTests"; + PRODUCT_BUNDLE_IDENTIFIER = com.hyber.ios.hybersdkios.HyberSDKTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -606,34 +580,34 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - BA5EE3BA238AD4BB00D2AA12 /* Build configuration list for PBXProject "HyberSDK" */ = { + BA1C39E6253CB68F00052185 /* Build configuration list for PBXProject "HyberSDK" */ = { isa = XCConfigurationList; buildConfigurations = ( - BA5EE3D2238AD4BB00D2AA12 /* Debug */, - BA5EE3D3238AD4BB00D2AA12 /* Release */, + BA1C39FE253CB69000052185 /* Debug */, + BA1C39FF253CB69000052185 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - BA5EE3D4238AD4BB00D2AA12 /* Build configuration list for PBXNativeTarget "HyberSDK" */ = { + BA1C3A00253CB69000052185 /* Build configuration list for PBXNativeTarget "HyberSDK" */ = { isa = XCConfigurationList; buildConfigurations = ( - BA5EE3D5238AD4BB00D2AA12 /* Debug */, - BA5EE3D6238AD4BB00D2AA12 /* Release */, + BA1C3A01253CB69000052185 /* Debug */, + BA1C3A02253CB69000052185 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - BA5EE3D7238AD4BB00D2AA12 /* Build configuration list for PBXNativeTarget "HyberSDKTests" */ = { + BA1C3A03253CB69000052185 /* Build configuration list for PBXNativeTarget "HyberSDKTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - BA5EE3D8238AD4BB00D2AA12 /* Debug */, - BA5EE3D9238AD4BB00D2AA12 /* Release */, + BA1C3A04253CB69000052185 /* Debug */, + BA1C3A05253CB69000052185 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = BA5EE3B7238AD4BB00D2AA12 /* Project object */; + rootObject = BA1C39E3253CB68F00052185 /* Project object */; } diff --git a/HyberSDK.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/HyberSDK.xcodeproj/project.xcworkspace/contents.xcworkspacedata index 306f5a3..056e10d 100644 --- a/HyberSDK.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ b/HyberSDK.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -2,6 +2,6 @@ + location = "self:HyberSDK.xcodeproj"> diff --git a/HyberSDK.xcodeproj/project.xcworkspace/xcuserdata/imperituroard.xcuserdatad/UserInterfaceState.xcuserstate b/HyberSDK.xcodeproj/project.xcworkspace/xcuserdata/imperituroard.xcuserdatad/UserInterfaceState.xcuserstate index 8b3da7cd9503eba19e37c1b38af12d9cb0f0d2c3..f52bac9233d596dcad7d6922b7211e7279abd0a7 100644 GIT binary patch literal 22297 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 QfAMxN_y3jF8)P5;2LmucT>t<8 diff --git a/HyberSDK.xcodeproj/xcuserdata/imperituroard.xcuserdatad/xcschemes/xcschememanagement.plist b/HyberSDK.xcodeproj/xcuserdata/imperituroard.xcuserdatad/xcschemes/xcschememanagement.plist index 299d7d3..cd16f7a 100644 --- a/HyberSDK.xcodeproj/xcuserdata/imperituroard.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/HyberSDK.xcodeproj/xcuserdata/imperituroard.xcuserdatad/xcschemes/xcschememanagement.plist @@ -4,15 +4,10 @@ SchemeUserState - Hyber-SDK-iOS.xcscheme_^#shared#^_ - - orderHint - 25 - HyberSDK.xcscheme_^#shared#^_ orderHint - 6 + 9 diff --git a/HyberSDK.xcworkspace/contents.xcworkspacedata b/HyberSDK.xcworkspace/contents.xcworkspacedata index f16181d..5598356 100644 --- a/HyberSDK.xcworkspace/contents.xcworkspacedata +++ b/HyberSDK.xcworkspace/contents.xcworkspacedata @@ -2,9 +2,9 @@ + location = "group:HyberSDK.xcodeproj"> + location = "group:Pods/Pods.xcodeproj"> diff --git a/HyberSDK.xcworkspace/xcuserdata/imperituroard.xcuserdatad/UserInterfaceState.xcuserstate b/HyberSDK.xcworkspace/xcuserdata/imperituroard.xcuserdatad/UserInterfaceState.xcuserstate index b95399b31478feb1a69c877d02d67c15baefc3eb..0de684b26be1c957d32d1af8629a935a0db8e66b 100644 GIT binary patch literal 33416 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 diff --git a/HyberSDK/HyberSDK.h b/HyberSDK/HyberSDK.h index b405a18..ef0a918 100644 --- a/HyberSDK/HyberSDK.h +++ b/HyberSDK/HyberSDK.h @@ -1,9 +1,9 @@ // -// Hyber_SDK_iOS.h -// Hyber-SDK-iOS +// HyberSDK.h +// HyberSDK // -// Created by Дмитрий Буйновский on 24/11/2019. -// Copyright © 2019 GMS. All rights reserved. +// Created by Kirill Kotov on 01/10/2020. +// Copyright © 2020 HYBER. All rights reserved. // #import @@ -12,9 +12,8 @@ //! Project version number for HyberSDK. FOUNDATION_EXPORT double HyberSDKVersionNumber; -//! Project version string for Hyber_SDK_iOS. +//! Project version string for HyberSDK. FOUNDATION_EXPORT const unsigned char HyberSDKVersionString[]; // In this header, you should import all the public headers of your framework using statements like #import - diff --git a/HyberSDK/HyberSDK.swift b/HyberSDK/HyberSDK.swift index ec3c5d4..35184ae 100644 --- a/HyberSDK/HyberSDK.swift +++ b/HyberSDK/HyberSDK.swift @@ -2,7 +2,7 @@ // hybersdk.swift // hybersdk // -// Created by ard on 08/05/2019. +// Created by Kirill Kotov on 08/05/2019. // Copyright © 2019 ard. All rights reserved. // @@ -10,6 +10,7 @@ import Foundation import UIKit import CryptoSwift +import SwiftyBeaver //import CoreData //import FirebaseCore @@ -28,7 +29,10 @@ public extension Notification.Name { public class HyberSDK { - public init() + public init( + //platform_branch: PushSdkParametersPublic, + log_level: String = "error" + ) { Constants.registrationstatus = UserDefaults.standard.bool(forKey: "registrationstatus") Constants.hyber_registration_token = UserDefaults.standard.string(forKey: "hyber_registration_token") @@ -69,7 +73,6 @@ public class HyberSDK { let answer_b = AnswerBuider.init() - //Procedure 1. new device registration //x_hyber_sesion_id - firebase FCM token //x_hyber_ios_bundle_id - ios application bundle id diff --git a/HyberSDK/Info.plist b/HyberSDK/Info.plist index 3f26fa0..b981d3b 100644 --- a/HyberSDK/Info.plist +++ b/HyberSDK/Info.plist @@ -17,7 +17,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 1.8 + 1.0 CFBundleVersion $(CURRENT_PROJECT_VERSION) diff --git a/HyberSDK/api/hyber_adapter.swift b/HyberSDK/api/hyber_adapter.swift index ce0bba6..99ab5af 100644 --- a/HyberSDK/api/hyber_adapter.swift +++ b/HyberSDK/api/hyber_adapter.swift @@ -2,13 +2,15 @@ // hyber_adapter.swift // test222 // -// Created by ard on 16/04/2019. +// Created by Kirill Kotov on 16/04/2019. // Copyright © 2019 ard. All rights reserved. // import Foundation import CryptoSwift +import RetrofireSwift + class HyberAPI { private let jsonparser = AnswParser.init() @@ -102,7 +104,7 @@ class HyberAPI { print("resp dsdfasdf") print(response) - let str_resp = response as! String + let str_resp = response! as String print(str_resp) let resp_register_parsed = self.jsonparser.registerJParse(str_resp: str_resp) @@ -194,8 +196,8 @@ class HyberAPI { request.addValue(X_Hyber_Session_Id, forHTTPHeaderField: "X-Hyber-Session-Id") request.addValue(sha256_auth_token, forHTTPHeaderField: "X-Hyber-Auth-Token") - print(request.allHTTPHeaderFields) - print(request.httpBody) + print(request.allHTTPHeaderFields as Any) + print(request.httpBody as Any) print(params) request.httpBody = try! JSONSerialization.data(withJSONObject: params, options: []) @@ -218,7 +220,7 @@ class HyberAPI { answ = self.answer_buider.general_answer_struct(resp_code: String(httpResponse.statusCode), body_json: body_json, description: "Success") - print(jsonData) + print(jsonData as Any) self.processor.file_logger(message: "\(procedure_name) response jsonData is \(jsonData)", loglevel: ".debug") self.processor.file_logger(message: "\(procedure_name) response code is \(httpResponse.statusCode)", loglevel: ".debug") @@ -248,7 +250,7 @@ class HyberAPI { if response == "SUCCESS" { - self.processor.file_logger(message: "\(procedure_name) success response body is \(response)", loglevel: ".debug") } + self.processor.file_logger(message: "\(procedure_name) success response body is \(String(describing: response))", loglevel: ".debug") } case 401: Constants.registrationstatus = false UserDefaults.standard.set(false, forKey: "registrationstatus") @@ -318,7 +320,7 @@ class HyberAPI { request.httpBody = try! JSONSerialization.data(withJSONObject: params, options: []) - print(request.allHTTPHeaderFields) + print(request.allHTTPHeaderFields as Any) print(params) let dataTask = session.dataTask(with: request as URLRequest) @@ -339,15 +341,15 @@ class HyberAPI { answ = self.answer_buider.general_answer_struct(resp_code: String(httpResponse.statusCode), body_json: "deviceId: \(devid_parsed.deviceId)", description: "Success") - self.processor.file_logger(message: "\(procedure_name) response jsonData is \(jsonData)", loglevel: ".debug") + self.processor.file_logger(message: "\(procedure_name) response jsonData is \(String(describing: jsonData))", loglevel: ".debug") self.processor.file_logger(message: "\(procedure_name) response code is \(httpResponse.statusCode)", loglevel: ".debug") - self.processor.file_logger(message: "\(procedure_name) response data is \(data)", loglevel: ".debug") + self.processor.file_logger(message: "\(procedure_name) response data is \(String(describing: data))", loglevel: ".debug") self.processor.file_logger(message: "\(procedure_name) response debugDescription is \(httpResponse.debugDescription)", loglevel: ".debug") - print(jsonData) + print(jsonData as Any) print(httpResponse.statusCode) switch (httpResponse.statusCode) @@ -359,7 +361,7 @@ class HyberAPI { if response == "SUCCESS" { - self.processor.file_logger(message: "\(procedure_name) success response body is \(response)", loglevel: ".debug") } + self.processor.file_logger(message: "\(procedure_name) success response body is \(String(describing: response))", loglevel: ".debug") } case 401: Constants.registrationstatus = false UserDefaults.standard.set(false, forKey: "registrationstatus") @@ -418,8 +420,8 @@ class HyberAPI { request.addValue(String(timet), forHTTPHeaderField: "X-Hyber-Timestamp") request.addValue(sha256_auth_token, forHTTPHeaderField: "X-Hyber-Auth-Token") - print(request.allHTTPHeaderFields) - print(request.httpBody) + print(request.allHTTPHeaderFields as Any) + print(request.httpBody as Any) //request.httpBody = try! JSONSerialization.data(withJSONObject: params, options: []) @@ -443,15 +445,15 @@ class HyberAPI { //answ = self.answer_buider.general_answer(resp_code: String(httpResponse.statusCode), body_json: body_json, description: "Success") - self.processor.file_logger(message: "\(procedure_name) response jsonData is \(jsonData)", loglevel: ".debug") + self.processor.file_logger(message: "\(procedure_name) response jsonData is \(String(describing: jsonData))", loglevel: ".debug") self.processor.file_logger(message: "\(procedure_name) response code is \(httpResponse.statusCode)", loglevel: ".debug") - self.processor.file_logger(message: "\(procedure_name) response data is \(data)", loglevel: ".debug") + self.processor.file_logger(message: "\(procedure_name) response data is \(String(describing: data))", loglevel: ".debug") self.processor.file_logger(message: "\(procedure_name) response debugDescription is \(httpResponse.debugDescription)", loglevel: ".debug") - print(jsonData) + print(jsonData as Any) print(httpResponse.statusCode) switch (httpResponse.statusCode) @@ -465,7 +467,7 @@ class HyberAPI { if response == "SUCCESS" { - self.processor.file_logger(message: "\(procedure_name) success response body is \(response)", loglevel: ".debug") + self.processor.file_logger(message: "\(procedure_name) success response body is \(String(describing: response))", loglevel: ".debug") } UserDefaults.standard.set(true, forKey: "registrationstatus") @@ -497,7 +499,7 @@ class HyberAPI { //for send delivery report to hyber server func hyber_message_dr(message_Id: String, received_At: String, X_Hyber_Session_Id: String, X_Hyber_Auth_Token:String)->HyberGeneralAnswerStruct { do{ - if (message_Id != nil && message_Id != "" && message_Id != "[]" ) { + if (message_Id != "" && message_Id != "[]" ) { let procedure_name = "hyber_message_dr" let configuration = URLSessionConfiguration .default let session = URLSession(configuration: configuration) @@ -538,8 +540,8 @@ class HyberAPI { request.addValue(String(timet), forHTTPHeaderField: "X-Hyber-Timestamp") request.addValue(sha256_auth_token, forHTTPHeaderField: "X-Hyber-Auth-Token") - print(request.allHTTPHeaderFields) - print(request.httpBody) + print(request.allHTTPHeaderFields as Any) + print(request.httpBody as Any) request.httpBody = try! JSONSerialization.data(withJSONObject: params, options: []) @@ -560,15 +562,15 @@ class HyberAPI { answ = self.answer_buider.general_answer_struct(resp_code: String(httpResponse.statusCode), body_json: body_json, description: "Success") - self.processor.file_logger(message: "\(procedure_name) response jsonData is \(jsonData)", loglevel: ".debug") + self.processor.file_logger(message: "\(procedure_name) response jsonData is \(String(describing: jsonData))", loglevel: ".debug") self.processor.file_logger(message: "\(procedure_name) response code is \(httpResponse.statusCode)", loglevel: ".debug") - self.processor.file_logger(message: "\(procedure_name) response data is \(data)", loglevel: ".debug") + self.processor.file_logger(message: "\(procedure_name) response data is \(String(describing: data))", loglevel: ".debug") self.processor.file_logger(message: "\(procedure_name) response debugDescription is \(httpResponse.debugDescription)", loglevel: ".debug") print(httpResponse.statusCode) - print(jsonData) + print(jsonData as Any) switch (httpResponse.statusCode) { @@ -579,7 +581,7 @@ class HyberAPI { if response == "SUCCESS" { - self.processor.file_logger(message: "\(procedure_name) success response body is \(response)", loglevel: ".debug") } + self.processor.file_logger(message: "\(procedure_name) success response body is \(String(describing: response))", loglevel: ".debug") } case 401: Constants.registrationstatus = false @@ -602,7 +604,6 @@ class HyberAPI { print("invalid regex: \(error.localizedDescription)") return answer_b.general_answer_struct(resp_code: "710", body_json: "error", description: "Critical error") } - } //6 procedure @@ -615,9 +616,8 @@ class HyberAPI { let semaphore2 = DispatchSemaphore(value: 0) var answ: HyberGeneralAnswerStruct = HyberGeneralAnswerStruct.init(code: 0, result: "unknown", description: "unknown", body: "unknown") let params = [ - "messageId":message_Id, - "answer": answer - + "messageId": message_Id, + "answer": answer ] as Dictionary let urlString = NSString(format: Constants.url_Http_Mess_callback); processor.file_logger(message: "\(procedure_name) url string is \(urlString)", loglevel: ".debug") @@ -644,8 +644,8 @@ class HyberAPI { self.processor.file_logger(message: "\(procedure_name) request X-Hyber-Timestamp is \(String(timet))", loglevel: ".debug") request.addValue(String(timet), forHTTPHeaderField: "X-Hyber-Timestamp") request.addValue(sha256_auth_token, forHTTPHeaderField: "X-Hyber-Auth-Token") - print(request.allHTTPHeaderFields) - print(request.httpBody) + print(request.allHTTPHeaderFields as Any) + print(request.httpBody as Any) request.httpBody = try! JSONSerialization.data(withJSONObject: params, options: []) @@ -666,11 +666,11 @@ class HyberAPI { answ = self.answer_buider.general_answer_struct(resp_code: String(httpResponse.statusCode), body_json: body_json, description: "Success") - self.processor.file_logger(message: "\(procedure_name) response jsonData is \(jsonData)", loglevel: ".debug") + self.processor.file_logger(message: "\(procedure_name) response jsonData is \(String(describing: jsonData))", loglevel: ".debug") self.processor.file_logger(message: "\(procedure_name) response code is \(httpResponse.statusCode)", loglevel: ".debug") - self.processor.file_logger(message: "\(procedure_name) response data is \(data)", loglevel: ".debug") + self.processor.file_logger(message: "\(procedure_name) response data is \(String(describing: data))", loglevel: ".debug") self.processor.file_logger(message: "\(procedure_name) response debugDescription is \(httpResponse.debugDescription)", loglevel: ".debug") @@ -682,12 +682,12 @@ class HyberAPI { let response = NSString (data: receivedData, encoding: String.Encoding.utf8.rawValue) - print(jsonData) + print(jsonData as Any) if response == "SUCCESS" { - self.processor.file_logger(message: "\(procedure_name) success response body is \(response)", loglevel: ".debug") } + self.processor.file_logger(message: "\(procedure_name) success response body is \(String(describing: response))", loglevel: ".debug") } case 401: Constants.registrationstatus = false @@ -723,7 +723,6 @@ class HyberAPI { let procedure_name = "hyber_device_get_all" let configuration = URLSessionConfiguration .default let session = URLSession(configuration: configuration) - var dict:NSDictionary! let semaphore = DispatchSemaphore(value: 0) @@ -786,7 +785,7 @@ class HyberAPI { - if let userInfo = jsonData as? NSDictionary { + if let userInfo = jsonData as NSDictionary? { let test = userInfo["devices"] if let userInfo2 = test as? NSDictionary { @@ -808,7 +807,7 @@ class HyberAPI { self.processor.file_logger(message: "\(procedure_name) response code is \(httpResponse.statusCode)", loglevel: ".debug") - self.processor.file_logger(message: "\(procedure_name) response data is \(data)", loglevel: ".debug") + self.processor.file_logger(message: "\(procedure_name) response data is \(String(describing: data))", loglevel: ".debug") self.processor.file_logger(message: "\(procedure_name) response debugDescription is \(httpResponse.debugDescription)", loglevel: ".debug") @@ -824,7 +823,7 @@ class HyberAPI { if response == "SUCCESS" { - self.processor.file_logger(message: "\(procedure_name) success response body is \(response)", loglevel: ".debug") } + self.processor.file_logger(message: "\(procedure_name) success response body is \(String(describing: response))", loglevel: ".debug") } case 401: Constants.registrationstatus = false @@ -865,7 +864,7 @@ class HyberAPI { //print(messs) - var messs2 = ["message": queue_answer as AnyObject] as! [String: AnyObject] + let messs2 = ["message": queue_answer as AnyObject] as! [String: AnyObject] NotificationCenter.default.post(name: .didReceiveData, object: nil, userInfo: messs2 ) hyber_message_dr(message_Id: i, received_At: "123123122341", X_Hyber_Session_Id: X_Hyber_Session_Id, X_Hyber_Auth_Token: X_Hyber_Auth_Token) @@ -952,8 +951,8 @@ class HyberAPI { self.processor.file_logger(message: "\(procedure_name) request X-Hyber-Timestamp is \(String(timet))", loglevel: ".debug") request.addValue(String(timet), forHTTPHeaderField: "X-Hyber-Timestamp") request.addValue(sha256_auth_token, forHTTPHeaderField: "X-Hyber-Auth-Token") - print(request.allHTTPHeaderFields) - print(request.httpBody) + print(request.allHTTPHeaderFields as Any) + print(request.httpBody as Any) request.httpBody = try! JSONSerialization.data(withJSONObject: params, options: []) @@ -974,11 +973,11 @@ class HyberAPI { answ = self.answer_buider.general_answer2(resp_code: httpResponse.statusCode, body_json: body_json, description: "Success") - self.processor.file_logger(message: "\(procedure_name) response jsonData is \(jsonData)", loglevel: ".debug") + self.processor.file_logger(message: "\(procedure_name) response jsonData is \(String(describing: jsonData))", loglevel: ".debug") self.processor.file_logger(message: "\(procedure_name) response code is \(httpResponse.statusCode)", loglevel: ".debug") - self.processor.file_logger(message: "\(procedure_name) response data is \(data)", loglevel: ".debug") + self.processor.file_logger(message: "\(procedure_name) response data is \(String(describing: data))", loglevel: ".debug") self.processor.file_logger(message: "\(procedure_name) response debugDescription is \(httpResponse.debugDescription)", loglevel: ".debug") @@ -992,9 +991,9 @@ class HyberAPI { - print(jsonData) + print(jsonData as Any) - let dataa = response as! String + let dataa = response! as String print(self.messidParse(queue_answer: dataa, X_Hyber_Session_Id: X_Hyber_Session_Id, X_Hyber_Auth_Token: X_Hyber_Auth_Token)) @@ -1002,7 +1001,7 @@ class HyberAPI { if response == "SUCCESS" { - self.processor.file_logger(message: "\(procedure_name) success response body is \(response)", loglevel: ".debug") } + self.processor.file_logger(message: "\(procedure_name) success response body is \(String(describing: response))", loglevel: ".debug") } case 401: Constants.registrationstatus = false diff --git a/HyberSDK/logger/Formatters.swift b/HyberSDK/logger/Formatters.swift index 19a488f..b4ea28f 100755 --- a/HyberSDK/logger/Formatters.swift +++ b/HyberSDK/logger/Formatters.swift @@ -2,7 +2,7 @@ // Formatters.swift // Hyber-SDK // -// Created by Taras on 10/27/16. +// Created by Kirill Kotov on 10/27/16. // Incuube // import Foundation diff --git a/HyberSDK/logger/Themes.swift b/HyberSDK/logger/Themes.swift index 59a329c..393f31d 100755 --- a/HyberSDK/logger/Themes.swift +++ b/HyberSDK/logger/Themes.swift @@ -2,7 +2,7 @@ // Themes.swift // Hyber-SDK // -// Created by Taras on 10/27/16. +// Created by Kirill Kotov on 10/27/16. // Incuube // diff --git a/HyberSDK/logger/Utilities.swift b/HyberSDK/logger/Utilities.swift index 3dfcb1f..a5fe7b7 100755 --- a/HyberSDK/logger/Utilities.swift +++ b/HyberSDK/logger/Utilities.swift @@ -2,7 +2,7 @@ // Utilities.swift // Hyber-SDK // -// Created by Taras on 10/27/16. +// Created by Kirill Kotov on 10/27/16. // Incuube // diff --git a/HyberSDK/settings/add_functions.swift b/HyberSDK/settings/add_functions.swift index 7a17519..1765d5c 100644 --- a/HyberSDK/settings/add_functions.swift +++ b/HyberSDK/settings/add_functions.swift @@ -2,7 +2,7 @@ // add_functions.swift // test222 // -// Created by ard on 28/04/2019. +// Created by Kirill Kotov on 28/04/2019. // Copyright © 2019 ard. All rights reserved. // @@ -14,8 +14,6 @@ public class Processing { //function for write debug log into additional file. Calling from procedures func file_logger(message: String, loglevel: String){ - do - { if (Constants.loglevel==".debug") { log_wr(message: message, loglevel: loglevel) }else if (Constants.loglevel==".errors" && (loglevel==".error" || loglevel==".critical") ){ @@ -25,9 +23,6 @@ public class Processing { }else{ //if another level in loglevel } - } catch let error as String { - log_wr(message: error, loglevel: ".error") - } } private func log_wr(message: String, loglevel: String){ @@ -41,7 +36,6 @@ public class Processing { } public func matches(for regex: String, in text: String) -> [String] { - do { let regex = try NSRegularExpression(pattern: regex) let results = regex.matches(in: text, diff --git a/HyberSDK/settings/hyber_answer_func.swift b/HyberSDK/settings/hyber_answer_func.swift index aa62f12..e5869ce 100644 --- a/HyberSDK/settings/hyber_answer_func.swift +++ b/HyberSDK/settings/hyber_answer_func.swift @@ -2,7 +2,7 @@ // hyber_answer_func.swift // PushDemo // -// Created by ard on 28/09/2019. +// Created by Kirill Kotov on 28/09/2019. // Copyright © 2019 ard. All rights reserved. // @@ -32,7 +32,6 @@ class AnswerBuider { resp = HyberGeneralAnswerStruct.init(code: Int(resp_code)!, result: "Failed", description: "Failed", body: body_json) } - return resp } diff --git a/HyberSDK/settings/json_parser.swift b/HyberSDK/settings/json_parser.swift index 30cbc3d..b5b45b0 100644 --- a/HyberSDK/settings/json_parser.swift +++ b/HyberSDK/settings/json_parser.swift @@ -2,7 +2,7 @@ // json_parser.swift // HyberSDK // -// Created by Дмитрий Буйновский on 29/03/2020. +// Created by Kirill Kotov on 29/03/2020. // Copyright © 2020 GMS. All rights reserved. // diff --git a/HyberSDK/settings/params.swift b/HyberSDK/settings/params.swift index a15ef8c..4a04416 100644 --- a/HyberSDK/settings/params.swift +++ b/HyberSDK/settings/params.swift @@ -1,8 +1,6 @@ // -// params.swift -// test222 // -// Created by ard on 28/04/2019. +// Created by Kirill Kotov on 28/04/2019. // Copyright © 2019 ard. All rights reserved. // @@ -109,6 +107,53 @@ public struct HyberGeneralAnswerStruct { public var body: String } + +public struct PushSdkParametersPublic { + + public struct BranchStructObj { + var fun_hyber_url_device_update: String + var fun_hyber_url_registration: String + var fun_hyber_url_revoke: String + var fun_hyber_url_get_device_all: String + var fun_hyber_url_message_callback: String + var fun_hyber_url_message_dr: String + var fun_hyber_url_mess_queue: String + var hyber_url_message_history: String + } + + var BranchStructObj = branchMasterValue.self + + //public val branchMasterValue: BranchStructObj = BranchStructObj() + + + public struct branchMasterValue { + static let fun_hyber_url_device_update = "https://push.hyber.im/api/2.3/device/update" + static let fun_hyber_url_registration = "https://push.hyber.im/api/2.3/device/registration" + static let fun_hyber_url_revoke = "https://push.hyber.im/api/2.3/device/revoke" + static let fun_hyber_url_get_device_all = "https://push.hyber.im/api/2.3/device/all" + static let fun_hyber_url_message_callback = "https://push.hyber.im/api/2.3/message/callback" + static let fun_hyber_url_message_dr = "https://push.hyber.im/api/2.3/message/dr" + static let fun_hyber_url_mess_queue = "https://push.hyber.im/api/2.3/message/queue" + static let hyber_url_message_history = "https://push.hyber.im/api/2.3/message/history?startDate=" + } + + public struct branchTestValue { + static let fun_hyber_url_device_update = "https://test-push.hyber.im/api/2.3/device/update" + static let fun_hyber_url_registration = "https://test-push.hyber.im/api/2.3/device/registration" + static let fun_hyber_url_revoke = "https://test-push.hyber.im/api/2.3/device/revoke" + static let fun_hyber_url_get_device_all = "https://test-push.hyber.im/api/2.3/device/all" + static let fun_hyber_url_message_callback = "https://test-push.hyber.im/api/2.3/message/callback" + static let fun_hyber_url_message_dr = "https://test-push.hyber.im/api/2.3/message/dr" + static let fun_hyber_url_mess_queue = "https://test-push.hyber.im/api/2.3/message/queue" + static let hyber_url_message_history = "https://test-push.hyber.im/api/2.3/message/history?startDate=" + } + + static let TAG_LOGGING = "HyberPushSDK" + static let hyber_log_level_error = "error" + static let hyber_log_level_debug = "debug" +} + + public struct Constants { public static var registrationstatus = UserDefaults.standard.bool(forKey: "registrationstatus") @@ -123,7 +168,6 @@ public struct Constants { - let kOSType = "ios" static let sdkVersion = "0.0.12" static let dev_os_Version = UIDevice.current.systemVersion @@ -266,6 +310,10 @@ public extension UIDevice { case "iPhone11,2": return "iPhone XS" case "iPhone11,4", "iPhone11,6": return "iPhone XS Max" case "iPhone11,8": return "iPhone XR" + case "iPhone12,1": return "iPhone 11" + case "iPhone12,3": return "iPhone 11 Pro" + case "iPhone12,5": return "iPhone 11 Pro Max" + case "iPhone12,8": return "iPhone SE (2nd generation)" case "iPad2,1", "iPad2,2", "iPad2,3", "iPad2,4":return "iPad 2" case "iPad3,1", "iPad3,2", "iPad3,3": return "iPad 3" case "iPad3,4", "iPad3,5", "iPad3,6": return "iPad 4" @@ -285,6 +333,7 @@ public extension UIDevice { case "iPad7,3", "iPad7,4": return "iPad Pro (10.5-inch)" case "iPad8,1", "iPad8,2", "iPad8,3", "iPad8,4":return "iPad Pro (11-inch)" case "iPad8,5", "iPad8,6", "iPad8,7", "iPad8,8":return "iPad Pro (12.9-inch) (3rd generation)" + case "iPad8,11", "iPad8,12": return "iPad Pro (12.9-inch) (4th generation)" case "AppleTV5,3": return "Apple TV" case "AppleTV6,2": return "Apple TV 4K" case "AudioAccessory1,1": return "HomePod" diff --git a/HyberSDKTests/HyberSDKTests.swift b/HyberSDKTests/HyberSDKTests.swift index b0c061f..ecaacdf 100644 --- a/HyberSDKTests/HyberSDKTests.swift +++ b/HyberSDKTests/HyberSDKTests.swift @@ -1,15 +1,17 @@ // -// Hyber_SDK_iOSTests.swift -// Hyber-SDK-iOSTests +// HyberSDKTests.swift +// HyberSDKTests // -// Created by Дмитрий Буйновский on 24/11/2019. -// Copyright © 2019 GMS. All rights reserved. +// Created by Kirill Kotov on 01/10/2020. +// Copyright © 2020 HYBER. All rights reserved. // import XCTest -@testable import Hyber_SDK_iOS +@testable import HyberSDK -class Hyber_SDK_iOSTests: XCTestCase { +class HyberSDKTests: XCTestCase { + + var sdkInitHyber = HyberSDK.init() override func setUp() { // Put setup code here. This method is called before the invocation of each test method in the class. @@ -30,5 +32,13 @@ class Hyber_SDK_iOSTests: XCTestCase { // Put the code you want to measure the time of here. } } + + //func testRegistrar() { + // sdkInitHyber.hyber_register_new(user_phone: "375291234567", user_password: "Password", x_hyber_sesion_id: "123", x_hyber_ios_bundle_id: "test", X_Hyber_Client_API_Key: "test") + // } + + func testPrint() { + print("error: not a valid http response") + } } diff --git a/Podfile b/Podfile index 54d3ec5..c19f4fe 100644 --- a/Podfile +++ b/Podfile @@ -5,8 +5,7 @@ target 'HyberSDK' do # Comment the next line if you don't want to use dynamic frameworks use_frameworks! - # Pods for Hyber-SDK-iOS - pod 'SwiftyJSON', '~> 4.0' + # Pods for HyberSDK #pod 'Firebase/Core' #pod 'Firebase/Messaging' #pod 'Firebase/Auth' @@ -18,10 +17,25 @@ target 'HyberSDK' do pod 'BoringSSL-GRPC' pod 'CryptoSwift', '1.0.0' pod 'JSON' + pod 'RetrofireSwift' + pod 'SwiftyBeaver' target 'HyberSDKTests' do inherit! :search_paths # Pods for testing + #pod 'Firebase/Core' + #pod 'Firebase/Messaging' + #pod 'Firebase/Auth' + #pod 'Firebase/AdMob' + #pod 'Firebase/Database' + #pod 'Firebase/Storage' + #pod 'Firebase/Firestore' + #pod 'Google-Mobile-Ads-SDK' + pod 'BoringSSL-GRPC' + pod 'CryptoSwift', '1.0.0' + pod 'JSON' + pod 'RetrofireSwift' + pod 'SwiftyBeaver' end end diff --git a/Podfile.lock b/Podfile.lock index 0452b94..ac663ee 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -1,33 +1,45 @@ PODS: - - BoringSSL-GRPC (0.0.4): - - BoringSSL-GRPC/Implementation (= 0.0.4) - - BoringSSL-GRPC/Interface (= 0.0.4) - - BoringSSL-GRPC/Implementation (0.0.4): - - BoringSSL-GRPC/Interface (= 0.0.4) - - BoringSSL-GRPC/Interface (0.0.4) + - Alamofire (5.0.5) + - BoringSSL-GRPC (0.0.7): + - BoringSSL-GRPC/Implementation (= 0.0.7) + - BoringSSL-GRPC/Interface (= 0.0.7) + - BoringSSL-GRPC/Implementation (0.0.7): + - BoringSSL-GRPC/Interface (= 0.0.7) + - BoringSSL-GRPC/Interface (0.0.7) - CryptoSwift (1.0.0) - JSON (5.0.0) - - SwiftyJSON (4.3.0) + - RetrofireSwift (0.3.4): + - Alamofire + - SourceryForRetrofire (= 0.16.0-sfr-6) + - SourceryForRetrofire (0.16.0-sfr-6) + - SwiftyBeaver (1.8.4) DEPENDENCIES: - BoringSSL-GRPC - CryptoSwift (= 1.0.0) - JSON - - SwiftyJSON (~> 4.0) + - RetrofireSwift + - SwiftyBeaver SPEC REPOS: https://github.com/cocoapods/specs.git: + - Alamofire - BoringSSL-GRPC - CryptoSwift - JSON - - SwiftyJSON + - RetrofireSwift + - SourceryForRetrofire + - SwiftyBeaver SPEC CHECKSUMS: - BoringSSL-GRPC: b8d2e9fca6d3870aec81ee7d583869caec2a6076 + Alamofire: df2f8f826963b08b9a870791ad48e07a10090b2e + BoringSSL-GRPC: 8edf627ee524575e2f8d19d56f068b448eea3879 CryptoSwift: d81eeaa59dc5a8d03720fe919a6fd07b51f7439f JSON: 93622160a062588b4cd3497b77ccd777f1fd0587 - SwiftyJSON: 6faa0040f8b59dead0ee07436cbf76b73c08fd08 + RetrofireSwift: 4c3611bd341af957c7ffbd1c24ac93ee5af496fd + SourceryForRetrofire: 1430840a10403d89165b29543a64f4c979278f4a + SwiftyBeaver: f9a9aba96a6a6166e21682377804d728b0d20b95 -PODFILE CHECKSUM: ff56b1e90e94c78262faf39167a8d0ed7977efad +PODFILE CHECKSUM: bd08a5afac91a4c04e3f41ce70c66a705271b1db COCOAPODS: 1.7.0