From f4b9245a51b972bc21747dbe3c186b9683db8daf Mon Sep 17 00:00:00 2001 From: Scott Pfeil Date: Thu, 10 Mar 2022 10:36:29 -0500 Subject: [PATCH 1/9] minimum 13 --- MVMCore/MVMCore.xcodeproj/project.pbxproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MVMCore/MVMCore.xcodeproj/project.pbxproj b/MVMCore/MVMCore.xcodeproj/project.pbxproj index edfc67b..03ccfa5 100644 --- a/MVMCore/MVMCore.xcodeproj/project.pbxproj +++ b/MVMCore/MVMCore.xcodeproj/project.pbxproj @@ -1082,7 +1082,7 @@ FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/../../SharedFrameworks"; INFOPLIST_FILE = MVMCore/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; LIBRARY_SEARCH_PATHS = "$(inherited)"; ONLY_ACTIVE_ARCH = YES; @@ -1110,7 +1110,7 @@ FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/../../SharedFrameworks"; INFOPLIST_FILE = MVMCore/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; LIBRARY_SEARCH_PATHS = "$(inherited)"; PRODUCT_BUNDLE_IDENTIFIER = com.vzw.MVMCore; From ef59c73a5bb97dadbc99f9e939b9f37792681ab5 Mon Sep 17 00:00:00 2001 From: Scott Pfeil Date: Thu, 10 Mar 2022 10:59:00 -0500 Subject: [PATCH 2/9] version changes --- MVMCore/MVMCore.xcodeproj/project.pbxproj | 2 ++ MVMCore/MVMCore/Info.plist | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/MVMCore/MVMCore.xcodeproj/project.pbxproj b/MVMCore/MVMCore.xcodeproj/project.pbxproj index 03ccfa5..d02d9ce 100644 --- a/MVMCore/MVMCore.xcodeproj/project.pbxproj +++ b/MVMCore/MVMCore.xcodeproj/project.pbxproj @@ -1085,6 +1085,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; LIBRARY_SEARCH_PATHS = "$(inherited)"; + MARKETING_VERSION = 2.0; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.vzw.MVMCore; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; @@ -1113,6 +1114,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; LIBRARY_SEARCH_PATHS = "$(inherited)"; + MARKETING_VERSION = 2.0; PRODUCT_BUNDLE_IDENTIFIER = com.vzw.MVMCore; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; diff --git a/MVMCore/MVMCore/Info.plist b/MVMCore/MVMCore/Info.plist index 1007fd9..fcd3639 100644 --- a/MVMCore/MVMCore/Info.plist +++ b/MVMCore/MVMCore/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 1.0 + $(MARKETING_VERSION) CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass From 374c83bdddf966c947b9d8f09a45ceb9727fa598 Mon Sep 17 00:00:00 2001 From: Scott Pfeil Date: Thu, 24 Mar 2022 18:39:06 -0400 Subject: [PATCH 3/9] fix missing prepare statements --- .../MVMCoreNavigationOperation.m | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/MVMCore/MVMCore/PresentationHandling/MVMCoreNavigationOperation.m b/MVMCore/MVMCore/PresentationHandling/MVMCoreNavigationOperation.m index 794975d..5f51b16 100644 --- a/MVMCore/MVMCore/PresentationHandling/MVMCoreNavigationOperation.m +++ b/MVMCore/MVMCore/PresentationHandling/MVMCoreNavigationOperation.m @@ -137,6 +137,7 @@ if (self.navigationObject.navigationController.viewControllers.count > 1) { // Although the post animation state is currently fine with pop, store anyway as a precaution self.futureViewControllers = [self.navigationObject.navigationController.viewControllers subarrayWithRange:NSMakeRange(0, self.navigationObject.navigationController.viewControllers.count - 1)]; + [self prepareDisplay]; [self.navigationObject.navigationController popViewControllerAnimated:self.navigationObject.animated]; } else { [self markAsFinished]; @@ -183,7 +184,7 @@ // Store post animation state. NSInteger index = [[self.navigationObject.navigationController viewControllers] indexOfObject:self.navigationObject.viewController]; self.futureViewControllers = [self.navigationObject.navigationController.viewControllers subarrayWithRange:NSMakeRange(0, index + 1)]; - + [self prepareDisplay]; [self.navigationObject.navigationController popToViewController:self.navigationObject.viewController animated:self.navigationObject.animated]; } else { [self markAsFinished]; @@ -195,7 +196,7 @@ if (self.navigationObject.navigationController.viewControllers.count > 1) { // Store post animation state. self.futureViewControllers = @[self.navigationObject.navigationController.viewControllers.firstObject]; - + [self prepareDisplay]; [self.navigationObject.navigationController popToRootViewControllerAnimated:self.navigationObject.animated]; } else { [self markAsFinished]; @@ -213,14 +214,14 @@ - (void)pushViewController { // Although the post animation state is currently fine with push, store anyway as a precaution self.futureViewControllers = [self.navigationObject.navigationController.viewControllers arrayByAddingObject:self.navigationObject.viewController]; - [self navigationController:self.navigationObject.navigationController prepareDisplayForViewController:self.navigationObject.viewController]; + [self prepareDisplay]; [self.navigationObject.navigationController pushViewController:self.navigationObject.viewController animated:self.navigationObject.animated]; } - (void)setViewControllers:(NSArray *)viewControllers { - self.futureViewControllers = viewControllers; if (![self.navigationObject.navigationController.viewControllers isEqualToArray:viewControllers]) { - [self navigationController:self.navigationObject.navigationController prepareDisplayForViewController:viewControllers.lastObject]; + self.futureViewControllers = viewControllers; + [self prepareDisplay]; [self.navigationObject.navigationController setViewControllers:viewControllers animated:self.navigationObject.animated]; } else { @@ -230,8 +231,9 @@ } // Notify delegates to prepare for the controller to be added to the navigation controller. -- (void)navigationController:(UINavigationController *)navigationController prepareDisplayForViewController:(UIViewController *)viewController { - +- (void)prepareDisplay { + UINavigationController *navigationController = self.navigationObject.navigationController; + UIViewController *viewController = self.futureViewControllers.lastObject; if (self.delegate && [self.delegate respondsToSelector:@selector(navigationController:prepareDisplayForViewController:)]) { [self.delegate navigationController:navigationController prepareDisplayForViewController:viewController]; From a4770c4c79c74317a30ed0b37bb4cd124b655b89 Mon Sep 17 00:00:00 2001 From: "Pfeil, Scott Robert" Date: Fri, 29 Apr 2022 15:41:40 +0000 Subject: [PATCH 4/9] Develop --- .../Client Parameters/ClientParameterHandler.swift | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/MVMCore/MVMCore/Models/ActionType/Client Parameters/ClientParameterHandler.swift b/MVMCore/MVMCore/Models/ActionType/Client Parameters/ClientParameterHandler.swift index fe420ef..2d59771 100644 --- a/MVMCore/MVMCore/Models/ActionType/Client Parameters/ClientParameterHandler.swift +++ b/MVMCore/MVMCore/Models/ActionType/Client Parameters/ClientParameterHandler.swift @@ -88,19 +88,24 @@ complete = true } } - + // Setup timeout. self.parametersWorkQueue.asyncAfter(deadline: .now() + .seconds(Int(timeout)), execute: timeoutWorkItem) - + // Setup the parameter execution. for (index, parameterHandler) in self.parameterHandlerList.enumerated() { + let parameterType = parameterHandler.clientParameterModel.type self.group.enter() parameterHandler.fetchClientParameters(requestParameters: requestParameters, timingOutIn: timeout) { (receivedParameter) in // Queue the results for merge. self.parametersWorkQueue.async { - returnedList[index] = receivedParameter - self.group.leave() // Leaving is only done after setup (barriered). + if (returnedList[index] != nil) { + MVMCoreLoggingHandler.shared()?.addError(toLog: MVMCoreErrorObject(title: nil, message: "Client parameter \(parameterType) has already executed. The completion handler should only be called once!", code: ErrorCode.default.rawValue, domain: ErrorDomainNative, location: String(describing: ClientParameterHandler.self))!) + } else { + returnedList[index] = receivedParameter + self.group.leave() // Leaving is only done after setup (barriered). + } } } } From 2db6fb923c5a1646670bb8f3468c63b133af573f Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Mon, 20 Jun 2022 09:44:14 -0500 Subject: [PATCH 5/9] ordered headers above compilation in BuildPhase for Xcode 13 fix Signed-off-by: Matt Bruce --- MVMCore/MVMCore.xcodeproj/project.pbxproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MVMCore/MVMCore.xcodeproj/project.pbxproj b/MVMCore/MVMCore.xcodeproj/project.pbxproj index 09c65e5..394e10b 100644 --- a/MVMCore/MVMCore.xcodeproj/project.pbxproj +++ b/MVMCore/MVMCore.xcodeproj/project.pbxproj @@ -765,9 +765,9 @@ isa = PBXNativeTarget; buildConfigurationList = 8876D5D11FB50A9E00EB2E3D /* Build configuration list for PBXNativeTarget "MVMCore" */; buildPhases = ( + 8876D5C61FB50A9E00EB2E3D /* Headers */, 8876D5C41FB50A9E00EB2E3D /* Sources */, 8876D5C51FB50A9E00EB2E3D /* Frameworks */, - 8876D5C61FB50A9E00EB2E3D /* Headers */, 8876D5C71FB50A9E00EB2E3D /* Resources */, ); buildRules = ( From f2bde996a83fe2678aca9cd6a89a22334e086327 Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Mon, 20 Jun 2022 09:48:37 -0500 Subject: [PATCH 6/9] created init for Model Signed-off-by: Matt Bruce --- .../ActionType/Client Parameters/ClientParameterModel.swift | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/MVMCore/MVMCore/Models/ActionType/Client Parameters/ClientParameterModel.swift b/MVMCore/MVMCore/Models/ActionType/Client Parameters/ClientParameterModel.swift index 37940d7..f570df6 100644 --- a/MVMCore/MVMCore/Models/ActionType/Client Parameters/ClientParameterModel.swift +++ b/MVMCore/MVMCore/Models/ActionType/Client Parameters/ClientParameterModel.swift @@ -16,6 +16,11 @@ public class ClientParameterModel: Codable { case timeout case list } + + public init(timeout: Double?, list: [ClientParameterModelProtocol]) { + self.timeout = timeout + self.list = list + } required public init(from decoder: Decoder) throws { let typeContainer = try decoder.container(keyedBy: CodingKeys.self) From 71fb70c6ebd6cd4e8bd825ea6849fc582d8c60e5 Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Tue, 21 Jun 2022 14:56:52 -0500 Subject: [PATCH 7/9] added initializer Signed-off-by: Matt Bruce --- MVMCore/MVMCore/ActionHandling/OpenURLOptionsModel.swift | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/MVMCore/MVMCore/ActionHandling/OpenURLOptionsModel.swift b/MVMCore/MVMCore/ActionHandling/OpenURLOptionsModel.swift index 045aa52..96557c7 100644 --- a/MVMCore/MVMCore/ActionHandling/OpenURLOptionsModel.swift +++ b/MVMCore/MVMCore/ActionHandling/OpenURLOptionsModel.swift @@ -12,6 +12,13 @@ import Foundation open class OpenUrlOptionsModel: Codable { public var options: [UIApplication.OpenExternalURLOptionsKey: Any] + //-------------------------------------------------- + // MARK: - Initializer + //-------------------------------------------------- + public init(options: [UIApplication.OpenExternalURLOptionsKey: Any]) { + self.options = options + } + //-------------------------------------------------- // MARK: - Codable //-------------------------------------------------- From 464df10708f633ba3b502efa9f39570781132cfc Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Tue, 21 Jun 2022 15:31:51 -0500 Subject: [PATCH 8/9] resolved for comments Signed-off-by: Matt Bruce --- MVMCore/MVMCore/ActionHandling/OpenURLOptionsModel.swift | 2 +- .../ActionType/Client Parameters/ClientParameterModel.swift | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/MVMCore/MVMCore/ActionHandling/OpenURLOptionsModel.swift b/MVMCore/MVMCore/ActionHandling/OpenURLOptionsModel.swift index 96557c7..09911c8 100644 --- a/MVMCore/MVMCore/ActionHandling/OpenURLOptionsModel.swift +++ b/MVMCore/MVMCore/ActionHandling/OpenURLOptionsModel.swift @@ -15,7 +15,7 @@ open class OpenUrlOptionsModel: Codable { //-------------------------------------------------- // MARK: - Initializer //-------------------------------------------------- - public init(options: [UIApplication.OpenExternalURLOptionsKey: Any]) { + public init(options: [UIApplication.OpenExternalURLOptionsKey: Any] = [:]) { self.options = options } diff --git a/MVMCore/MVMCore/Models/ActionType/Client Parameters/ClientParameterModel.swift b/MVMCore/MVMCore/Models/ActionType/Client Parameters/ClientParameterModel.swift index f570df6..e1381a6 100644 --- a/MVMCore/MVMCore/Models/ActionType/Client Parameters/ClientParameterModel.swift +++ b/MVMCore/MVMCore/Models/ActionType/Client Parameters/ClientParameterModel.swift @@ -17,7 +17,7 @@ public class ClientParameterModel: Codable { case list } - public init(timeout: Double?, list: [ClientParameterModelProtocol]) { + public init(list: [ClientParameterModelProtocol], timeout: Double?) { self.timeout = timeout self.list = list } From 5ca22837bf7784dd195c1c1c8671a34e56ee6381 Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Tue, 21 Jun 2022 15:39:41 -0500 Subject: [PATCH 9/9] added default value Signed-off-by: Matt Bruce --- .../ActionType/Client Parameters/ClientParameterModel.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MVMCore/MVMCore/Models/ActionType/Client Parameters/ClientParameterModel.swift b/MVMCore/MVMCore/Models/ActionType/Client Parameters/ClientParameterModel.swift index e1381a6..9e63c27 100644 --- a/MVMCore/MVMCore/Models/ActionType/Client Parameters/ClientParameterModel.swift +++ b/MVMCore/MVMCore/Models/ActionType/Client Parameters/ClientParameterModel.swift @@ -17,7 +17,7 @@ public class ClientParameterModel: Codable { case list } - public init(list: [ClientParameterModelProtocol], timeout: Double?) { + public init(list: [ClientParameterModelProtocol], timeout: Double? = nil) { self.timeout = timeout self.list = list }