Merge branch 'bugfix/scripts' into 'develop'

Bugfix/scripts

See merge request BPHV_MIPS/mvm_core_ui!760
This commit is contained in:
Pfeil, Scott Robert 2022-07-06 15:08:43 +00:00
commit e80ce2444b
27 changed files with 124 additions and 94 deletions

View File

@ -197,7 +197,6 @@
9445891F2385D2E900DE9FD4 /* CaretViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9445891E2385D2E900DE9FD4 /* CaretViewModel.swift */; }; 9445891F2385D2E900DE9FD4 /* CaretViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9445891E2385D2E900DE9FD4 /* CaretViewModel.swift */; };
944589212385D6E900DE9FD4 /* DashLineModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 944589202385D6E900DE9FD4 /* DashLineModel.swift */; }; 944589212385D6E900DE9FD4 /* DashLineModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 944589202385D6E900DE9FD4 /* DashLineModel.swift */; };
944589232385DA9600DE9FD4 /* ImageViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 944589222385DA9500DE9FD4 /* ImageViewModel.swift */; }; 944589232385DA9600DE9FD4 /* ImageViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 944589222385DA9500DE9FD4 /* ImageViewModel.swift */; };
9455B19C234F8A0400A574DB /* MVMAnimationFramework.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9455B19B234F8A0400A574DB /* MVMAnimationFramework.framework */; };
9458C3172406C8FD00930963 /* UIFont+FontWrapping.h in Headers */ = {isa = PBXBuildFile; fileRef = 9458C3152406C8FD00930963 /* UIFont+FontWrapping.h */; settings = {ATTRIBUTES = (Public, ); }; }; 9458C3172406C8FD00930963 /* UIFont+FontWrapping.h in Headers */ = {isa = PBXBuildFile; fileRef = 9458C3152406C8FD00930963 /* UIFont+FontWrapping.h */; settings = {ATTRIBUTES = (Public, ); }; };
9458C3182406C8FD00930963 /* UIFont+FontWrapping.m in Sources */ = {isa = PBXBuildFile; fileRef = 9458C3162406C8FD00930963 /* UIFont+FontWrapping.m */; }; 9458C3182406C8FD00930963 /* UIFont+FontWrapping.m in Sources */ = {isa = PBXBuildFile; fileRef = 9458C3162406C8FD00930963 /* UIFont+FontWrapping.m */; };
948DB67E2326DCD90011F916 /* MultiProgress.swift in Sources */ = {isa = PBXBuildFile; fileRef = 948DB67D2326DCD90011F916 /* MultiProgress.swift */; }; 948DB67E2326DCD90011F916 /* MultiProgress.swift in Sources */ = {isa = PBXBuildFile; fileRef = 948DB67D2326DCD90011F916 /* MultiProgress.swift */; };
@ -276,6 +275,7 @@
AAE7270E24AC8B9300A3ED0E /* HeadersH2CaretLink.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAE7270D24AC8B9300A3ED0E /* HeadersH2CaretLink.swift */; }; AAE7270E24AC8B9300A3ED0E /* HeadersH2CaretLink.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAE7270D24AC8B9300A3ED0E /* HeadersH2CaretLink.swift */; };
AAE96FA225341F6A0037A989 /* ListStoreLocatorModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAE96FA125341F6A0037A989 /* ListStoreLocatorModel.swift */; }; AAE96FA225341F6A0037A989 /* ListStoreLocatorModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAE96FA125341F6A0037A989 /* ListStoreLocatorModel.swift */; };
AAE96FA525341F7D0037A989 /* ListStoreLocator.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAE96FA425341F7D0037A989 /* ListStoreLocator.swift */; }; AAE96FA525341F7D0037A989 /* ListStoreLocator.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAE96FA425341F7D0037A989 /* ListStoreLocator.swift */; };
AF81F990287498F4006F7F11 /* MVMAnimationFramework.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF81F98F287498F3006F7F11 /* MVMAnimationFramework.xcframework */; };
AFE4A1D127DFB5EE00C458D0 /* VDSColorTokens.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = AFE4A1D027DFB5EE00C458D0 /* VDSColorTokens.xcframework */; }; AFE4A1D127DFB5EE00C458D0 /* VDSColorTokens.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = AFE4A1D027DFB5EE00C458D0 /* VDSColorTokens.xcframework */; };
AFE4A1D627DFBB6F00C458D0 /* UINavigationController+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFE4A1D527DFBB6F00C458D0 /* UINavigationController+Extension.swift */; }; AFE4A1D627DFBB6F00C458D0 /* UINavigationController+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFE4A1D527DFBB6F00C458D0 /* UINavigationController+Extension.swift */; };
BB105859248DEFF70069D008 /* UICollectionViewLeftAlignedLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB105858248DEFF60069D008 /* UICollectionViewLeftAlignedLayout.swift */; }; BB105859248DEFF70069D008 /* UICollectionViewLeftAlignedLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB105858248DEFF60069D008 /* UICollectionViewLeftAlignedLayout.swift */; };
@ -789,7 +789,6 @@
9445891E2385D2E900DE9FD4 /* CaretViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CaretViewModel.swift; sourceTree = "<group>"; }; 9445891E2385D2E900DE9FD4 /* CaretViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CaretViewModel.swift; sourceTree = "<group>"; };
944589202385D6E900DE9FD4 /* DashLineModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DashLineModel.swift; sourceTree = "<group>"; }; 944589202385D6E900DE9FD4 /* DashLineModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DashLineModel.swift; sourceTree = "<group>"; };
944589222385DA9500DE9FD4 /* ImageViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageViewModel.swift; sourceTree = "<group>"; }; 944589222385DA9500DE9FD4 /* ImageViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageViewModel.swift; sourceTree = "<group>"; };
9455B19B234F8A0400A574DB /* MVMAnimationFramework.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MVMAnimationFramework.framework; path = ../SharedFrameworks/MVMAnimationFramework.framework; sourceTree = "<group>"; };
9458C3152406C8FD00930963 /* UIFont+FontWrapping.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UIFont+FontWrapping.h"; sourceTree = "<group>"; }; 9458C3152406C8FD00930963 /* UIFont+FontWrapping.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UIFont+FontWrapping.h"; sourceTree = "<group>"; };
9458C3162406C8FD00930963 /* UIFont+FontWrapping.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIFont+FontWrapping.m"; sourceTree = "<group>"; }; 9458C3162406C8FD00930963 /* UIFont+FontWrapping.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIFont+FontWrapping.m"; sourceTree = "<group>"; };
948DB67D2326DCD90011F916 /* MultiProgress.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MultiProgress.swift; sourceTree = "<group>"; }; 948DB67D2326DCD90011F916 /* MultiProgress.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MultiProgress.swift; sourceTree = "<group>"; };
@ -867,6 +866,7 @@
AAE7270D24AC8B9300A3ED0E /* HeadersH2CaretLink.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HeadersH2CaretLink.swift; sourceTree = "<group>"; }; AAE7270D24AC8B9300A3ED0E /* HeadersH2CaretLink.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HeadersH2CaretLink.swift; sourceTree = "<group>"; };
AAE96FA125341F6A0037A989 /* ListStoreLocatorModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListStoreLocatorModel.swift; sourceTree = "<group>"; }; AAE96FA125341F6A0037A989 /* ListStoreLocatorModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListStoreLocatorModel.swift; sourceTree = "<group>"; };
AAE96FA425341F7D0037A989 /* ListStoreLocator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListStoreLocator.swift; sourceTree = "<group>"; }; AAE96FA425341F7D0037A989 /* ListStoreLocator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListStoreLocator.swift; sourceTree = "<group>"; };
AF81F98F287498F3006F7F11 /* MVMAnimationFramework.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = MVMAnimationFramework.xcframework; path = ../SharedFrameworks/MVMAnimationFramework.xcframework; sourceTree = "<group>"; };
AFE4A1D027DFB5EE00C458D0 /* VDSColorTokens.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = VDSColorTokens.xcframework; path = ../SharedFrameworks/VDSColorTokens.xcframework; sourceTree = "<group>"; }; AFE4A1D027DFB5EE00C458D0 /* VDSColorTokens.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = VDSColorTokens.xcframework; path = ../SharedFrameworks/VDSColorTokens.xcframework; sourceTree = "<group>"; };
AFE4A1D527DFBB6F00C458D0 /* UINavigationController+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UINavigationController+Extension.swift"; sourceTree = "<group>"; }; AFE4A1D527DFBB6F00C458D0 /* UINavigationController+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UINavigationController+Extension.swift"; sourceTree = "<group>"; };
BB105858248DEFF60069D008 /* UICollectionViewLeftAlignedLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UICollectionViewLeftAlignedLayout.swift; sourceTree = "<group>"; }; BB105858248DEFF60069D008 /* UICollectionViewLeftAlignedLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UICollectionViewLeftAlignedLayout.swift; sourceTree = "<group>"; };
@ -1194,8 +1194,8 @@
files = ( files = (
D29DF0E621E4F3C7003B2FB9 /* MVMCore.framework in Frameworks */, D29DF0E621E4F3C7003B2FB9 /* MVMCore.framework in Frameworks */,
AFE4A1D127DFB5EE00C458D0 /* VDSColorTokens.xcframework in Frameworks */, AFE4A1D127DFB5EE00C458D0 /* VDSColorTokens.xcframework in Frameworks */,
9455B19C234F8A0400A574DB /* MVMAnimationFramework.framework in Frameworks */,
187FEB2A2844D2A600BF29C2 /* VDSFormControlsTokens.xcframework in Frameworks */, 187FEB2A2844D2A600BF29C2 /* VDSFormControlsTokens.xcframework in Frameworks */,
AF81F990287498F4006F7F11 /* MVMAnimationFramework.xcframework in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -2028,10 +2028,10 @@
D29DF0E421E4F3C7003B2FB9 /* Frameworks */ = { D29DF0E421E4F3C7003B2FB9 /* Frameworks */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
AF81F98F287498F3006F7F11 /* MVMAnimationFramework.xcframework */,
187FEB292844D2A600BF29C2 /* VDSFormControlsTokens.xcframework */, 187FEB292844D2A600BF29C2 /* VDSFormControlsTokens.xcframework */,
AFE4A1D027DFB5EE00C458D0 /* VDSColorTokens.xcframework */, AFE4A1D027DFB5EE00C458D0 /* VDSColorTokens.xcframework */,
D29DF0E521E4F3C7003B2FB9 /* MVMCore.framework */, D29DF0E521E4F3C7003B2FB9 /* MVMCore.framework */,
9455B19B234F8A0400A574DB /* MVMAnimationFramework.framework */,
); );
name = Frameworks; name = Frameworks;
sourceTree = "<group>"; sourceTree = "<group>";
@ -2581,7 +2581,7 @@
D29DF0C321E404D4003B2FB9 /* Project object */ = { D29DF0C321E404D4003B2FB9 /* Project object */ = {
isa = PBXProject; isa = PBXProject;
attributes = { attributes = {
LastUpgradeCheck = 1010; LastUpgradeCheck = 1320;
ORGANIZATIONNAME = "Verizon Wireless"; ORGANIZATIONNAME = "Verizon Wireless";
TargetAttributes = { TargetAttributes = {
D29DF0CB21E404D4003B2FB9 = { D29DF0CB21E404D4003B2FB9 = {
@ -3185,7 +3185,9 @@
D29DF0D221E404D4003B2FB9 /* Debug */ = { D29DF0D221E404D4003B2FB9 /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ALWAYS_SEARCH_USER_PATHS = NO; ALWAYS_SEARCH_USER_PATHS = NO;
BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
@ -3209,6 +3211,7 @@
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES;
@ -3221,7 +3224,6 @@
DEBUG_INFORMATION_FORMAT = dwarf; DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES; ENABLE_TESTABILITY = YES;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
GCC_C_LANGUAGE_STANDARD = gnu11; GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO; GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES; GCC_NO_COMMON_BLOCKS = YES;
@ -3236,7 +3238,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 11.0; IPHONEOS_DEPLOYMENT_TARGET = 14.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES; ONLY_ACTIVE_ARCH = YES;
@ -3251,7 +3253,9 @@
D29DF0D321E404D4003B2FB9 /* Release */ = { D29DF0D321E404D4003B2FB9 /* Release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ALWAYS_SEARCH_USER_PATHS = NO; ALWAYS_SEARCH_USER_PATHS = NO;
BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
@ -3275,6 +3279,7 @@
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES;
@ -3287,7 +3292,6 @@
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO; ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_STRICT_OBJC_MSGSEND = YES;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
GCC_C_LANGUAGE_STANDARD = gnu11; GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_NO_COMMON_BLOCKS = YES; GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
@ -3296,7 +3300,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 11.0; IPHONEOS_DEPLOYMENT_TARGET = 14.0;
MTL_ENABLE_DEBUG_INFO = NO; MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
SDKROOT = iphoneos; SDKROOT = iphoneos;
@ -3323,7 +3327,7 @@
FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/../SharedFrameworks"; FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/../SharedFrameworks";
INFOPLIST_FILE = MVMCoreUI/Info.plist; INFOPLIST_FILE = MVMCoreUI/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 13.0; IPHONEOS_DEPLOYMENT_TARGET = 14.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
@ -3354,7 +3358,7 @@
FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/../SharedFrameworks"; FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/../SharedFrameworks";
INFOPLIST_FILE = MVMCoreUI/Info.plist; INFOPLIST_FILE = MVMCoreUI/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 13.0; IPHONEOS_DEPLOYMENT_TARGET = 14.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",

View File

@ -8,12 +8,12 @@
#import "MVMCoreAlertHandler.h" #import "MVMCoreAlertHandler.h"
#import "MVMCoreAlertObject.h" #import "MVMCoreAlertObject.h"
#import <MVMCore/MVMCoreAlertController.h> @import MVMCore.MVMCoreAlertController;
#import "MVMCoreAlertOperation.h" #import "MVMCoreAlertOperation.h"
#import "MVMCoreTopAlertOperation.h" #import "MVMCoreTopAlertOperation.h"
#import <MVMCore/MVMCoreJSONConstants.h> @import MVMCore.MVMCoreJSONConstants;
#import <MVMCore/NSDictionary+MFConvenience.h> @import MVMCore.NSDictionary_MFConvenience;
#import <MVMCore/NSArray+MFConvenience.h> @import MVMCore.NSArray_MFConvenience;
#import <MVMCoreUI/MVMCoreUI-Swift.h> #import <MVMCoreUI/MVMCoreUI-Swift.h>
@interface MVMCoreAlertHandler () @interface MVMCoreAlertHandler ()

View File

@ -8,9 +8,9 @@
// An object for keeping track of all alert variables. Easier to pass around. // An object for keeping track of all alert variables. Easier to pass around.
#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>
#import <MVMCore/MVMCoreActionDelegateProtocol.h> @import MVMCore.MVMCoreActionDelegateProtocol;
#import <MVMCore/MVMCoreLoadDelegateProtocol.h> @import MVMCore.MVMCoreLoadDelegateProtocol;
#import <MVMCore/MVMCorePresentationDelegateProtocol.h> @import MVMCore.MVMCorePresentationDelegateProtocol;
#import <MVMCoreUI/MVMCoreAlertDelegateProtocol.h> #import <MVMCoreUI/MVMCoreAlertDelegateProtocol.h>
@class MVMCoreErrorObject; @class MVMCoreErrorObject;

View File

@ -9,16 +9,16 @@
#import "MVMCoreAlertObject.h" #import "MVMCoreAlertObject.h"
#import "MVMCoreAlertHandler.h" #import "MVMCoreAlertHandler.h"
#import "MVMCoreTopAlertObject.h" #import "MVMCoreTopAlertObject.h"
#import <MVMCore/MVMCoreCache.h> @import MVMCore.MVMCoreCache;
#import <MVMCore/MVMCoreErrorConstants.h> @import MVMCore.MVMCoreErrorConstants;
#import <MVMCore/MVMCoreErrorObject.h> @import MVMCore.MVMCoreErrorObject;
#import <MVMCore/MVMCoreLoadObject.h> @import MVMCore.MVMCoreLoadObject;
#import <MVMCore/MVMCoreGetterUtility.h> @import MVMCore.MVMCoreGetterUtility;
#import <MVMCore/NSDictionary+MFConvenience.h> @import MVMCore.NSDictionary_MFConvenience;
#import <MVMCore/MVMCoreHardcodedStringsConstants.h> @import MVMCore.MVMCoreHardcodedStringsConstants;
#import <MVMCore/MVMCoreJSONConstants.h> @import MVMCore.MVMCoreJSONConstants;
#import <MVMCore/MVMCoreActionHandler.h> @import MVMCore.MVMCoreActionHandler;
#import <MVMCore/MVMCore-Swift.h> @import MVMCore.Swift;
#import <MVMCoreUI/MVMCoreUI-Swift.h> #import <MVMCoreUI/MVMCoreUI-Swift.h>
@interface MVMCoreAlertObject () @interface MVMCoreAlertObject ()

View File

@ -9,7 +9,7 @@
#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
#import <MVMCore/MVMCoreOperation.h> @import MVMCore.MVMCoreOperation;
#import <MVMCoreUI/MVMCoreAlertDelegateProtocol.h> #import <MVMCoreUI/MVMCoreAlertDelegateProtocol.h>
@interface MVMCoreAlertOperation : MVMCoreOperation @interface MVMCoreAlertOperation : MVMCoreOperation

View File

@ -8,8 +8,8 @@
#import "MVMCoreAlertOperation.h" #import "MVMCoreAlertOperation.h"
#import <MVMCoreUI/MVMCoreAlertHandler.h> #import <MVMCoreUI/MVMCoreAlertHandler.h>
#import <MVMCore/MVMCoreAlertController.h> @import MVMCore.MVMCoreAlertController;
#import <MVMCore/MVMCoreNavigationHandler.h> @import MVMCore.MVMCoreNavigationHandler;
@interface MVMCoreAlertOperation () { @interface MVMCoreAlertOperation () {
__block BOOL _paused; __block BOOL _paused;

View File

@ -8,7 +8,7 @@
import Foundation import Foundation
public protocol RadioBoxSelectionDelegate: class { public protocol RadioBoxSelectionDelegate: AnyObject {
func selected(radioBox: RadioBoxModel) func selected(radioBox: RadioBoxModel)
} }

View File

@ -15,7 +15,6 @@ public extension UIPickerView {
let picker = UIPickerView(frame: .zero) let picker = UIPickerView(frame: .zero)
picker.backgroundColor = .mvmWhite picker.backgroundColor = .mvmWhite
picker.showsSelectionIndicator = true
return picker return picker
} }

View File

@ -8,7 +8,7 @@
import UIKit import UIKit
public protocol TextInputDidDeleteProtocol: class { public protocol TextInputDidDeleteProtocol: AnyObject {
func textInputDidDelete() func textInputDidDelete()
} }

View File

@ -1069,7 +1069,7 @@ CGFloat const PanelAnimationDuration = 0.2;
// Returns the desired view or falls back. Hot fix until we can get away from using these functions... // Returns the desired view or falls back. Hot fix until we can get away from using these functions...
+ (CGRect)getBounds:(UIView *)desiredView { + (CGRect)getBounds:(UIView *)desiredView {
UIView *view = desiredView ?: [MVMCoreNavigationHandler sharedNavigationHandler].navigationController.view ?: [UIApplication sharedApplication].keyWindow.rootViewController.view; UIView *view = desiredView ?: [MVMCoreNavigationHandler sharedNavigationHandler].navigationController.view ?: [MVMCoreGetterUtility getKeyWindow].rootViewController.view;
return view ? view.bounds : [UIScreen mainScreen].bounds; return view ? view.bounds : [UIScreen mainScreen].bounds;
} }
@ -1094,7 +1094,7 @@ CGFloat const PanelAnimationDuration = 0.2;
} }
- (UIViewController *)getCurrentVisibleController { - (UIViewController *)getCurrentVisibleController {
UIViewController *baseViewController = [MVMCoreNavigationHandler sharedNavigationHandler].viewControllerToPresentOn ?: [UIApplication sharedApplication].keyWindow.rootViewController; UIViewController *baseViewController = [MVMCoreNavigationHandler sharedNavigationHandler].viewControllerToPresentOn ?: [MVMCoreGetterUtility getKeyWindow].rootViewController;
UIViewController *viewController = nil; UIViewController *viewController = nil;
while (baseViewController.presentedViewController && !baseViewController.presentedViewController.isBeingDismissed) { while (baseViewController.presentedViewController && !baseViewController.presentedViewController.isBeingDismissed) {
viewController = baseViewController.presentedViewController; viewController = baseViewController.presentedViewController;

View File

@ -5,7 +5,7 @@
// Created by Scott Pfeil on 10/28/20. // Created by Scott Pfeil on 10/28/20.
// Copyright © 2020 Verizon Wireless. All rights reserved. // Copyright © 2020 Verizon Wireless. All rights reserved.
// //
#import <MVMCore/MVMCoreActionDelegateProtocol.h> @import MVMCore.MVMCoreActionDelegateProtocol;
@class MVMCoreAlertObject; @class MVMCoreAlertObject;
@protocol MVMCoreUIActionDelegateProtocol <MVMCoreActionDelegateProtocol> @protocol MVMCoreUIActionDelegateProtocol <MVMCoreActionDelegateProtocol>

View File

@ -6,7 +6,7 @@
// Copyright © 2020 Verizon Wireless. All rights reserved. // Copyright © 2020 Verizon Wireless. All rights reserved.
// //
#import <MVMCore/MVMCoreActionHandler.h> @import MVMCore.MVMCoreActionHandler;
NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN

View File

@ -6,7 +6,7 @@
// Copyright © 2019 Verizon Wireless. All rights reserved. // Copyright © 2019 Verizon Wireless. All rights reserved.
// //
#import <MVMCore/MVMCore.h> @import MVMCore.MVMCoreViewControllerMappingObject;
NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN

View File

@ -7,7 +7,7 @@
// //
#import "MVMCoreUIViewControllerMappingObject.h" #import "MVMCoreUIViewControllerMappingObject.h"
#import <MVMCore/MVMCoreViewControllerProgrammaticMappingObject.h> @import MVMCore.MVMCoreViewControllerProgrammaticMappingObject;
#import <MVMCoreUI/MVMCoreUI-Swift.h> #import <MVMCoreUI/MVMCoreUI-Swift.h>
@implementation MVMCoreUIViewControllerMappingObject @implementation MVMCoreUIViewControllerMappingObject

View File

@ -7,9 +7,9 @@
// //
#import "MVMCoreTopAlertObject.h" #import "MVMCoreTopAlertObject.h"
#import <MVMCore/NSDictionary+MFConvenience.h> @import MVMCore.NSDictionary_MFConvenience;
#import <MVMCore/MVMCoreGetterUtility.h> @import MVMCore.MVMCoreGetterUtility;
#import <MVMCore/MVMCoreJSONConstants.h> @import MVMCore.MVMCoreJSONConstants;
#import "MVMCoreAlertHandler.h" #import "MVMCoreAlertHandler.h"
NSUInteger const TopAlertDismissTime = 5; NSUInteger const TopAlertDismissTime = 5;

View File

@ -6,7 +6,7 @@
// Copyright © 2016 Verizon Wireless. All rights reserved. // Copyright © 2016 Verizon Wireless. All rights reserved.
// //
#import <MVMCore/MVMCoreOperation.h> @import MVMCore.MVMCoreOperation;
#import <MVMCoreUI/MVMCoreTopAlertAnimationDelegateProtocol.h> #import <MVMCoreUI/MVMCoreTopAlertAnimationDelegateProtocol.h>
@class MVMCoreTopAlertObject; @class MVMCoreTopAlertObject;

View File

@ -8,7 +8,7 @@
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
#import <MVMCoreUI/MVMCoreTopAlertAnimationDelegateProtocol.h> #import <MVMCoreUI/MVMCoreTopAlertAnimationDelegateProtocol.h>
#import <MVMCore/MVMCoreViewProtocol.h> @import MVMCore.MVMCoreViewProtocol;
@class Button; @class Button;

View File

@ -7,13 +7,13 @@
// //
#import "MVMCoreUITopAlertBaseView.h" #import "MVMCoreUITopAlertBaseView.h"
#import <MVMCore/MVMCoreActionHandler.h> @import MVMCore.MVMCoreActionHandler;
#import "MVMCoreUISplitViewController.h" #import "MVMCoreUISplitViewController.h"
#import <MVMCore/MVMCoreLoadObject.h> @import MVMCore.MVMCoreLoadObject;
#import <MVMCore/MVMCoreRequestParameters.h> @import MVMCore.MVMCoreRequestParameters;
#import "MVMCoreUITopAlertView.h" #import "MVMCoreUITopAlertView.h"
#import <MVMCore/MVMCoreJSONConstants.h> @import MVMCore.MVMCoreJSONConstants;
#import <MVMCore/NSDictionary+MFConvenience.h> @import MVMCore.NSDictionary_MFConvenience;
#import "UIColor+MFConvenience.h" #import "UIColor+MFConvenience.h"
#import "MVMCoreUICommonViewsUtility.h" #import "MVMCoreUICommonViewsUtility.h"
#import "MFStyler.h" #import "MFStyler.h"

View File

@ -9,11 +9,11 @@
#import "MVMCoreUITopAlertExpandableView.h" #import "MVMCoreUITopAlertExpandableView.h"
#import "MVMCoreUITopAlertShortView.h" #import "MVMCoreUITopAlertShortView.h"
#import "MVMCoreUITopAlertMainView.h" #import "MVMCoreUITopAlertMainView.h"
#import <MVMCore/MVMCoreDispatchUtility.h> @import MVMCore.MVMCoreDispatchUtility;
#import <MVMCoreUI/MVMCoreTopAlertObject.h> #import <MVMCoreUI/MVMCoreTopAlertObject.h>
#import <MVMCoreUI/MVMCoreAlertHandler.h> #import <MVMCoreUI/MVMCoreAlertHandler.h>
#import <MVMCore/MVMCoreBlockOperation.h> @import MVMCore.MVMCoreBlockOperation;
#import <MVMCore/MVMCoreNavigationHandler.h> @import MVMCore.MVMCoreNavigationHandler;
#import "MFStyler.h" #import "MFStyler.h"
#import "NSLayoutConstraint+MFConvenience.h" #import "NSLayoutConstraint+MFConvenience.h"
#import "MVMCoreUIUtility.h" #import "MVMCoreUIUtility.h"

View File

@ -9,13 +9,13 @@
#import "MVMCoreUITopAlertMainView.h" #import "MVMCoreUITopAlertMainView.h"
#import "MFStyler.h" #import "MFStyler.h"
#import "NSLayoutConstraint+MFConvenience.h" #import "NSLayoutConstraint+MFConvenience.h"
#import <MVMCore/NSDictionary+MFConvenience.h> @import MVMCore.NSDictionary_MFConvenience;
#import <MVMCore/MVMCoreDispatchUtility.h> @import MVMCore.MVMCoreDispatchUtility;
#import <MVMCoreUI/MVMCoreTopAlertObject.h> #import <MVMCoreUI/MVMCoreTopAlertObject.h>
#import "UIColor+MFConvenience.h" #import "UIColor+MFConvenience.h"
#import <MVMCoreUI/MVMCoreAlertHandler.h> #import <MVMCoreUI/MVMCoreAlertHandler.h>
#import <MVMCoreUI/MVMCoreUI-Swift.h> #import <MVMCoreUI/MVMCoreUI-Swift.h>
#import <MVMCore/MVMCoreJSONConstants.h> @import MVMCore.MVMCoreJSONConstants;
#import "MVMCoreUICommonViewsUtility.h" #import "MVMCoreUICommonViewsUtility.h"
#import "MVMCoreUITopAlertView.h" #import "MVMCoreUITopAlertView.h"
#import <MVMCoreUI/MVMCoreUI-Swift.h> #import <MVMCoreUI/MVMCoreUI-Swift.h>

View File

@ -217,7 +217,6 @@ static const CGFloat VertialShadowOffset = 6;
+ (UIPickerView *)commonPickerView { + (UIPickerView *)commonPickerView {
UIPickerView *picker = [[UIPickerView alloc] initWithFrame:CGRectZero]; UIPickerView *picker = [[UIPickerView alloc] initWithFrame:CGRectZero];
picker.backgroundColor = [UIColor whiteColor]; picker.backgroundColor = [UIColor whiteColor];
picker.showsSelectionIndicator = YES;
return picker; return picker;
} }

View File

@ -52,7 +52,7 @@
} }
+ (UIViewController *)getCurrentVisibleController { + (UIViewController *)getCurrentVisibleController {
UIViewController *baseViewController = [MVMCoreNavigationHandler sharedNavigationHandler].viewControllerToPresentOn ?: [UIApplication sharedApplication].keyWindow.rootViewController; UIViewController *baseViewController = [MVMCoreNavigationHandler sharedNavigationHandler].viewControllerToPresentOn ?: [MVMCoreGetterUtility getKeyWindow].rootViewController;
UIViewController *viewController = nil; UIViewController *viewController = nil;
while (baseViewController.presentedViewController && !baseViewController.presentedViewController.isBeingDismissed) { while (baseViewController.presentedViewController && !baseViewController.presentedViewController.isBeingDismissed) {
viewController = baseViewController.presentedViewController; viewController = baseViewController.presentedViewController;
@ -201,10 +201,10 @@
} }
+ (CGFloat)getTopSpaceWithStatusBarForView:(UIView *)view { + (CGFloat)getTopSpaceWithStatusBarForView:(UIView *)view {
CGPoint viewStartPointInWindowSpace = [[UIApplication sharedApplication].keyWindow convertPoint:CGPointMake(CGRectGetMinX(view.frame), CGRectGetMinY(view.frame)) fromView:[view superview]]; CGPoint viewStartPointInWindowSpace = [[MVMCoreGetterUtility getKeyWindow] convertPoint:CGPointMake(CGRectGetMinX(view.frame), CGRectGetMinY(view.frame)) fromView:[view superview]];
if (CGRectGetMaxY([UIApplication sharedApplication].statusBarFrame) > viewStartPointInWindowSpace.y) { CGFloat maxY = CGRectGetMaxY([[[[MVMCoreGetterUtility getKeyWindow] windowScene] statusBarManager] statusBarFrame]);
if (maxY > viewStartPointInWindowSpace.y) {
return CGRectGetMaxY([UIApplication sharedApplication].statusBarFrame) - viewStartPointInWindowSpace.y; return maxY - viewStartPointInWindowSpace.y;
} else { } else {
return 0; return 0;
} }
@ -277,7 +277,7 @@
CGRect keyboardRect = [[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue]; CGRect keyboardRect = [[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];
// Gets the scrollview end point in the window coordinate space to see if the keyboard will cover the scroll view at all. (This conversion allows the scrollview to be anyhwere in the hierarchy). // Gets the scrollview end point in the window coordinate space to see if the keyboard will cover the scroll view at all. (This conversion allows the scrollview to be anyhwere in the hierarchy).
CGPoint scrollEndPointInWindowSpace = [[UIApplication sharedApplication].keyWindow convertPoint:CGPointMake(CGRectGetMinX(scrollView.frame), CGRectGetMaxY(scrollView.frame)) fromView:[scrollView superview]]; CGPoint scrollEndPointInWindowSpace = [[MVMCoreGetterUtility getKeyWindow] convertPoint:CGPointMake(CGRectGetMinX(scrollView.frame), CGRectGetMaxY(scrollView.frame)) fromView:[scrollView superview]];
// Also takes into account the current content inset. (Even if the keyboard covers the frame, it might not matter if the bottom content inset is set to above the keyboard anyway). // Also takes into account the current content inset. (Even if the keyboard covers the frame, it might not matter if the bottom content inset is set to above the keyboard anyway).
if (scrollEndPointInWindowSpace.y - scrollView.contentInset.bottom > CGRectGetMinY(keyboardRect)) { if (scrollEndPointInWindowSpace.y - scrollView.contentInset.bottom > CGRectGetMinY(keyboardRect)) {

View File

@ -9,6 +9,7 @@
#import <MVMCoreUI/MFSizeObject.h> #import <MVMCoreUI/MFSizeObject.h>
#import "MVMCoreUISplitViewController.h" #import "MVMCoreUISplitViewController.h"
@import MVMCore.MVMCoreGetterUtility; @import MVMCore.MVMCoreGetterUtility;
@import MVMCore.Swift;
CGFloat const MFSizeiPhone4HeightThreshold = 490; CGFloat const MFSizeiPhone4HeightThreshold = 490;
CGFloat const MFSizeiPhone5HeightThreshold = 578; CGFloat const MFSizeiPhone5HeightThreshold = 578;
@ -145,7 +146,7 @@ CGFloat const MFSizeMostlySweetSpotThreshold = 750;
- (CGFloat)getValueBasedOnScreenSize { - (CGFloat)getValueBasedOnScreenSize {
CGRect screenFrame = [[UIScreen mainScreen] bounds]; CGRect screenFrame = [[UIScreen mainScreen] bounds];
if ([MVMCoreGetterUtility isOnIPad]) { if ([MVMCoreGetterUtility isOnIPad]) {
if (UIInterfaceOrientationIsLandscape([UIApplication sharedApplication].statusBarOrientation)) { if (UIInterfaceOrientationIsLandscape([[[MVMCoreGetterUtility getKeyWindow] windowScene] interfaceOrientation])) {
return [self getValueBasedOnSize:CGRectGetWidth(screenFrame)]; return [self getValueBasedOnSize:CGRectGetWidth(screenFrame)];
} else { } else {
return [self getValueBasedOnSize:CGRectGetHeight(screenFrame)]; return [self getValueBasedOnSize:CGRectGetHeight(screenFrame)];
@ -198,7 +199,7 @@ CGFloat const MFSizeMostlySweetSpotThreshold = 750;
- (void)performBlockBaseOnScreenSize { - (void)performBlockBaseOnScreenSize {
CGRect screenFrame = [[UIScreen mainScreen] bounds]; CGRect screenFrame = [[UIScreen mainScreen] bounds];
if ([MVMCoreGetterUtility isOnIPad]) { if ([MVMCoreGetterUtility isOnIPad]) {
if (UIInterfaceOrientationIsLandscape([UIApplication sharedApplication].statusBarOrientation)) { if (UIInterfaceOrientationIsLandscape([[[MVMCoreGetterUtility getKeyWindow] windowScene] interfaceOrientation])) {
[self performBlockBaseOnSize:CGRectGetWidth(screenFrame)]; [self performBlockBaseOnSize:CGRectGetWidth(screenFrame)];
} else { } else {
[self performBlockBaseOnSize:CGRectGetHeight(screenFrame)]; [self performBlockBaseOnSize:CGRectGetHeight(screenFrame)];

View File

@ -2,32 +2,57 @@
unset TOOLCHAINS #Xcode 7.3 BUG FIX http://stackoverflow.com/questions/36184930/xcodebuild-7-3-cant-enable-bitcode unset TOOLCHAINS #Xcode 7.3 BUG FIX http://stackoverflow.com/questions/36184930/xcodebuild-7-3-cant-enable-bitcode
# define output folder environment variable # define variables
C_PROJECT_NAME="MVMCoreUI" C_PROJECT_NAME="MVMCoreUI"
PHONE_CONFIGURATION="Release" PHONE_CONFIGURATION="Release"
BUILD_DIR=$(xcodebuild -showBuildSettings -project ./${C_PROJECT_NAME}.xcodeproj | grep -w -o 'BUILD_DIR = .*' | cut -d\ -f3-)
PHONE_ARCHIVE_PATH="${BUILD_DIR}/${PHONE_CONFIGURATION}-iphoneos/${C_PROJECT_NAME}.xcarchive"
SIMULATOR_CONFIGURATION="Debug" SIMULATOR_CONFIGURATION="Debug"
BUILD_DIR=$(xcodebuild -showBuildSettings -project ./MVMCoreUI.xcodeproj | grep -w -o 'BUILD_DIR = .*' | cut -d\ -f3-) SIMULATOR_ARCHIVE_PATH="${BUILD_DIR}/${SIMULATOR_CONFIGURATION}-iphonesimulator/${C_PROJECT_NAME}.xcarchive"
SIMULATOR_LIBRARY_PATH="${BUILD_DIR}/${SIMULATOR_CONFIGURATION}-iphonesimulator/${C_PROJECT_NAME}.framework"
FRAMEWORKS_DIR=$BUILD_DIR/../../../Frameworks/MVMCoreUI FRAMEWORKS_DIR=$BUILD_DIR/../../../Frameworks/MVMCoreUI
UNIVERSAL_OUTPUTFOLDER=${BUILD_DIR}/universal UNIVERSAL_OUTPUTFOLDER="${BUILD_DIR}/universal"
# Step 1. Build Device and Simulator versions # Update to use .xcframework
xcodebuild -scheme "${C_PROJECT_NAME}" ONLY_ACTIVE_ARCH=NO -configuration ${PHONE_CONFIGURATION} -sdk iphoneos -archivePath "${BUILD_DIR}/${PHONE_CONFIGURATION}-iphoneos/${C_PROJECT_NAME}" archive SKIP_INSTALL=false FRAMEWORK_SEARCH_PATHS=$FRAMEWORKS_DIR ALWAYS_SEARCH_USER_PATHS=true sed -i '' 's|MVMCore.framework \*\/ = {isa.*};|MVMCore.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = MVMCore.xcframework; path = ../SharedFrameworks/MVMCore.xcframework; sourceTree = "<group>"; };|g' ./MVMCoreUI.xcodeproj/project.pbxproj
sed -i '' 's/MVMCore.framework/MVMCore.xcframework/g' ./MVMCoreUI.xcodeproj/project.pbxproj
xcodebuild -target "${C_PROJECT_NAME}" ONLY_ACTIVE_ARCH=NO -configuration ${SIMULATOR_CONFIGURATION} -sdk iphonesimulator BUILD_DIR=$BUILD_DIR FRAMEWORK_SEARCH_PATHS=$FRAMEWORKS_DIR ALWAYS_SEARCH_USER_PATHS=true ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES=true sed -i '' "s|path = \.\.\/SharedFrameworks|path = ${FRAMEWORKS_DIR}|g" ./MVMCoreUI.xcodeproj/project.pbxproj
# Build device archive
xcodebuild archive \
-scheme "${C_PROJECT_NAME}" \
-configuration ${PHONE_CONFIGURATION} \
-archivePath "${PHONE_ARCHIVE_PATH}" \
-sdk iphoneos \
-destination 'generic/platform=iOS' \
-quiet \
SKIP_INSTALL=NO \
ONLY_ACTIVE_ARCH=NO \
FRAMEWORK_SEARCH_PATHS="$FRAMEWORKS_DIR" \
ALWAYS_SEARCH_USER_PATHS=true
# Build simulator archive
xcodebuild archive \
-scheme "${C_PROJECT_NAME}" \
-configuration ${SIMULATOR_CONFIGURATION} \
-archivePath "${SIMULATOR_ARCHIVE_PATH}" \
-sdk iphonesimulator \
-destination 'generic/platform=iOS Simulator' \
-quiet \
SKIP_INSTALL=NO \
ONLY_ACTIVE_ARCH=NO \
FRAMEWORK_SEARCH_PATHS=$FRAMEWORKS_DIR \
ALWAYS_SEARCH_USER_PATHS=true
mkdir -p "${UNIVERSAL_OUTPUTFOLDER}" mkdir -p "${UNIVERSAL_OUTPUTFOLDER}"
rm -rf ${UNIVERSAL_OUTPUTFOLDER}/${C_PROJECT_NAME}.framework # Remove any existing xc framework.
cp -R "${BUILD_DIR}/${PHONE_CONFIGURATION}-iphoneos/${C_PROJECT_NAME}.xcarchive/Products/Library/Frameworks/${C_PROJECT_NAME}.framework" ${UNIVERSAL_OUTPUTFOLDER} rm -rf ${UNIVERSAL_OUTPUTFOLDER}/${C_PROJECT_NAME}.xcframework
# Step 2. Create universal binary file using lipo # Create the xcframework in the universal output folder.
xcodebuild -create-xcframework \
-framework "${PHONE_ARCHIVE_PATH}/Products/Library/Frameworks/${C_PROJECT_NAME}.framework" \
-framework "${SIMULATOR_ARCHIVE_PATH}/Products/Library/Frameworks/${C_PROJECT_NAME}.framework" \
-output ${UNIVERSAL_OUTPUTFOLDER}/${C_PROJECT_NAME}.xcframework
lipo -create -output "${UNIVERSAL_OUTPUTFOLDER}/${C_PROJECT_NAME}" "${UNIVERSAL_OUTPUTFOLDER}/${C_PROJECT_NAME}.framework/${C_PROJECT_NAME}" "${SIMULATOR_LIBRARY_PATH}/${C_PROJECT_NAME}" # Copy the dSYM file as well.
ditto "${PHONE_ARCHIVE_PATH}/dSYMs/${C_PROJECT_NAME}.framework.dSYM" "${UNIVERSAL_OUTPUTFOLDER}/${C_PROJECT_NAME}.xcframework.dSYM"
mv ${UNIVERSAL_OUTPUTFOLDER}/${C_PROJECT_NAME} ${UNIVERSAL_OUTPUTFOLDER}/${C_PROJECT_NAME}.framework/${C_PROJECT_NAME}
# For Swift framework, Swiftmodule needs to be copied in the universal framework
if [ -d "${SIMULATOR_LIBRARY_PATH}/Modules/${C_PROJECT_NAME}.swiftmodule/" ]; then
cp -a "${SIMULATOR_LIBRARY_PATH}/Modules/${C_PROJECT_NAME}.swiftmodule/" "${UNIVERSAL_OUTPUTFOLDER}/${C_PROJECT_NAME}.framework/Modules/${C_PROJECT_NAME}.swiftmodule/"
fi

View File

@ -18,6 +18,10 @@ if [ ! -d $FRAMEWORKS_DIR ]; then
mkdir -p $FRAMEWORKS_DIR mkdir -p $FRAMEWORKS_DIR
fi fi
./Scripts/download_framework.sh $ARTIFACTORY_URL "$FRAMEWORKS_DIR/MVMCore.framework" BPHV_MobileFirst_IOS/com/vzw/hss/myverizon/MVMCore/1.0/MVMCore-1.0-Debug-SNAPSHOT.zip ./Scripts/download_framework.sh $ARTIFACTORY_URL "$FRAMEWORKS_DIR/MVMCore.xcframework" BPHV_MobileFirst_IOS/com/vzw/hss/myverizon/MVMCore/3.0/MVMCore-3.0-Debug-SNAPSHOT.zip
./Scripts/download_framework.sh $ARTIFACTORY_URL "$FRAMEWORKS_DIR/MVMAnimationFramework.framework" BPHV_MobileFirst_IOS/com/vzw/hss/myverizon/MVMAnimationFramework.framework/1.9/MVMAnimationFramework.framework-1.9.zip ./Scripts/download_framework.sh $ARTIFACTORY_URL "$FRAMEWORKS_DIR/MVMAnimationFramework.framework" BPHV_MobileFirst_IOS/com/vzw/hss/myverizon/MVMAnimationFramework.framework/3.0/MVMAnimationFramework.framework-3.0.zip
./Scripts/download_framework.sh $ARTIFACTORY_URL "$FRAMEWORKS_DIR/VDSColorTokens.xcframework" GVJV_VDS_Maven/%40vds-tokens/ios/VDSColorTokens.1.0.6.xcframework.zip
./Scripts/download_framework.sh $ARTIFACTORY_URL "$FRAMEWORKS_DIR/VDSFormControlsTokens.xcframework" GVJV_VDS_Maven/@vds-tokens/ios/VDSFormControlsTokens.1.0.7.xcframework.zip

View File

@ -7,7 +7,8 @@
# Copied from Hedden, Kyle Matthew on 3/2/18. # Copied from Hedden, Kyle Matthew on 3/2/18.
# #
FRAMEWORK_VERSION=$(cd .. && agvtool vers -terse) BUILD_SETTINGS=$(xcodebuild -showBuildSettings -project ../MVMCoreUI.xcodeproj)
FRAMEWORK_VERSION=$(echo "$BUILD_SETTINGS" | grep -w -o 'MARKETING_VERSION = .*' | cut -d\ -f3-)
if [ $(git tag --list | grep "v${FRAMEWORK_VERSION}") ]; then if [ $(git tag --list | grep "v${FRAMEWORK_VERSION}") ]; then
echo This version tag has already been committed! Aborting! echo This version tag has already been committed! Aborting!
exit 1 exit 1
@ -20,5 +21,5 @@ if [ -z $ARTIFACTORY_URL ]; then
fi fi
# Upload # Upload
BUILD_DIR=$(xcodebuild -showBuildSettings -project ../MVMCoreUI.xcodeproj | grep -w -o 'BUILD_DIR = .*' | cut -d\ -f3-) BUILD_DIR=$(echo "$BUILD_SETTINGS" | grep -w -o 'BUILD_DIR = .*' | cut -d\ -f3-)
./upload_framework.sh $ARTIFACTORY_URL "${BUILD_DIR}/universal/MVMCoreUI.framework" BPHV_MobileFirst_IOS/com/vzw/hss/myverizon/MVMCoreUI/[VER]/MVMCoreUI-[VER]-Debug-SNAPSHOT ./upload_framework.sh $ARTIFACTORY_URL "${BUILD_DIR}/universal/MVMCoreUI.xcframework" BPHV_MobileFirst_IOS/com/vzw/hss/myverizon/MVMCoreUI/[VER]/MVMCoreUI-[VER]-Debug-SNAPSHOT $FRAMEWORK_VERSION

View File

@ -14,6 +14,7 @@
URL=$1 URL=$1
LOCALPATH=$2 LOCALPATH=$2
REMOTEPATH=$3 REMOTEPATH=$3
FRAMEWORKVER=$4
if [ -z $URL ]; then if [ -z $URL ]; then
echo "The artifactory instance url must be specified as the first argument!" echo "The artifactory instance url must be specified as the first argument!"
@ -29,10 +30,6 @@ cat "${LOCALPATH}/Info.plist"
LOCALBASE=$(basename "${LOCALPATH}") LOCALBASE=$(basename "${LOCALPATH}")
LOCALDIR=$(dirname "${LOCALPATH}") LOCALDIR=$(dirname "${LOCALPATH}")
# Grab the framework version from the bundled Info.plist.
FRAMEWORKVER=$(/usr/libexec/plistbuddy -c "Print :CFBundleShortVersionString" "${LOCALPATH}/Info.plist")
echo -e "\nFramework version: \t${FRAMEWORKVER}"
# Replace the [VER] placeholders with the found version. # Replace the [VER] placeholders with the found version.
REMOTEPATH="${REMOTEPATH//\[VER\]/$FRAMEWORKVER}" REMOTEPATH="${REMOTEPATH//\[VER\]/$FRAMEWORKVER}"
echo -e "Resolved path: \t\t${REMOTEPATH}" echo -e "Resolved path: \t\t${REMOTEPATH}"