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];