diff --git a/MVMCore/MVMCore.xcodeproj/project.pbxproj b/MVMCore/MVMCore.xcodeproj/project.pbxproj index e311e42..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 = ( @@ -1090,9 +1090,10 @@ 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)"; + MARKETING_VERSION = 2.0; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.vzw.MVMCore; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; @@ -1118,9 +1119,10 @@ 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)"; + MARKETING_VERSION = 2.0; PRODUCT_BUNDLE_IDENTIFIER = com.vzw.MVMCore; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; diff --git a/MVMCore/MVMCore/ActionHandling/OpenURLOptionsModel.swift b/MVMCore/MVMCore/ActionHandling/OpenURLOptionsModel.swift index 045aa52..09911c8 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 //-------------------------------------------------- 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 diff --git a/MVMCore/MVMCore/Models/ActionType/Client Parameters/ClientParameterModel.swift b/MVMCore/MVMCore/Models/ActionType/Client Parameters/ClientParameterModel.swift index 37940d7..9e63c27 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(list: [ClientParameterModelProtocol], timeout: Double? = nil) { + self.timeout = timeout + self.list = list + } required public init(from decoder: Decoder) throws { let typeContainer = try decoder.container(keyedBy: CodingKeys.self) 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];