From 5d37d1fb856a6c24318776e62bc8d2aa6572cb25 Mon Sep 17 00:00:00 2001 From: Thomas G <62822072+Thomasluigi07@users.noreply.github.com> Date: Tue, 14 Mar 2023 15:25:25 +1100 Subject: [PATCH] Add files via upload --- .../ARCHBLOX.xcodeproj/project.pbxproj | 653 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../UserInterfaceState.xcuserstate | Bin 0 -> 60829 bytes .../xcschemes/xcschememanagement.plist | 14 + .../ARCHBLOXTests/ARCHBLOXTests.swift | 36 + .../ARCHBLOXUITests/ARCHBLOXUITests.swift | 41 ++ .../ARCHBLOXUITestsLaunchTests.swift | 32 + 8 files changed, 791 insertions(+) create mode 100644 ARCHBLOX-APPLE-MODERN/ARCHBLOX.xcodeproj/project.pbxproj create mode 100644 ARCHBLOX-APPLE-MODERN/ARCHBLOX.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 ARCHBLOX-APPLE-MODERN/ARCHBLOX.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 ARCHBLOX-APPLE-MODERN/ARCHBLOX.xcodeproj/project.xcworkspace/xcuserdata/thomas.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 ARCHBLOX-APPLE-MODERN/ARCHBLOX.xcodeproj/xcuserdata/thomas.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 ARCHBLOX-APPLE-MODERN/ARCHBLOXTests/ARCHBLOXTests.swift create mode 100644 ARCHBLOX-APPLE-MODERN/ARCHBLOXUITests/ARCHBLOXUITests.swift create mode 100644 ARCHBLOX-APPLE-MODERN/ARCHBLOXUITests/ARCHBLOXUITestsLaunchTests.swift diff --git a/ARCHBLOX-APPLE-MODERN/ARCHBLOX.xcodeproj/project.pbxproj b/ARCHBLOX-APPLE-MODERN/ARCHBLOX.xcodeproj/project.pbxproj new file mode 100644 index 0000000..a57787d --- /dev/null +++ b/ARCHBLOX-APPLE-MODERN/ARCHBLOX.xcodeproj/project.pbxproj @@ -0,0 +1,653 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 56; + objects = { + +/* Begin PBXBuildFile section */ + E943F61729BF806C00DAD4AF /* LoadingScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = E943F61629BF806C00DAD4AF /* LoadingScreen.swift */; }; + E95B7B5028E549FB00929213 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = E95B7B4F28E549FB00929213 /* Assets.xcassets */; }; + E95B7B5E28E549FB00929213 /* ARCHBLOXTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E95B7B5D28E549FB00929213 /* ARCHBLOXTests.swift */; }; + E95B7B6828E549FB00929213 /* ARCHBLOXUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E95B7B6728E549FB00929213 /* ARCHBLOXUITests.swift */; }; + E95B7B6A28E549FB00929213 /* ARCHBLOXUITestsLaunchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E95B7B6928E549FB00929213 /* ARCHBLOXUITestsLaunchTests.swift */; }; + E9D10F1229BF215800172363 /* MainView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E9D10F1129BF215800172363 /* MainView.swift */; }; + E9D10F1629BF229900172363 /* ARCHBLOX.swift in Sources */ = {isa = PBXBuildFile; fileRef = E9D10F1529BF229900172363 /* ARCHBLOX.swift */; }; + E9D10F1829BF281000172363 /* HomeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E9D10F1729BF281000172363 /* HomeView.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + E95B7B5A28E549FB00929213 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = E95B7B4028E549FA00929213 /* Project object */; + proxyType = 1; + remoteGlobalIDString = E95B7B4728E549FA00929213; + remoteInfo = ARCHBLOX; + }; + E95B7B6428E549FB00929213 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = E95B7B4028E549FA00929213 /* Project object */; + proxyType = 1; + remoteGlobalIDString = E95B7B4728E549FA00929213; + remoteInfo = ARCHBLOX; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + E943F61629BF806C00DAD4AF /* LoadingScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoadingScreen.swift; sourceTree = ""; }; + E95B7B4828E549FA00929213 /* ARCHBLOX.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ARCHBLOX.app; sourceTree = BUILT_PRODUCTS_DIR; }; + E95B7B4F28E549FB00929213 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + E95B7B5428E549FB00929213 /* ARCHBLOX.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = ARCHBLOX.entitlements; sourceTree = ""; }; + E95B7B5928E549FB00929213 /* ARCHBLOXTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ARCHBLOXTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + E95B7B5D28E549FB00929213 /* ARCHBLOXTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ARCHBLOXTests.swift; sourceTree = ""; }; + E95B7B6328E549FB00929213 /* ARCHBLOXUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ARCHBLOXUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + E95B7B6728E549FB00929213 /* ARCHBLOXUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ARCHBLOXUITests.swift; sourceTree = ""; }; + E95B7B6928E549FB00929213 /* ARCHBLOXUITestsLaunchTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ARCHBLOXUITestsLaunchTests.swift; sourceTree = ""; }; + E9D10F1129BF215800172363 /* MainView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainView.swift; sourceTree = ""; wrapsLines = 1; }; + E9D10F1329BF225A00172363 /* LucidaGrande.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = LucidaGrande.ttf; sourceTree = ""; }; + E9D10F1429BF225A00172363 /* LucidaGrandeBold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = LucidaGrandeBold.ttf; sourceTree = ""; }; + E9D10F1529BF229900172363 /* ARCHBLOX.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ARCHBLOX.swift; sourceTree = ""; }; + E9D10F1729BF281000172363 /* HomeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeView.swift; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + E95B7B4528E549FA00929213 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E95B7B5628E549FB00929213 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E95B7B6028E549FB00929213 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + E95B7B3F28E549FA00929213 = { + isa = PBXGroup; + children = ( + E95B7B4A28E549FA00929213 /* ARCHBLOX */, + E95B7B5C28E549FB00929213 /* ARCHBLOXTests */, + E95B7B6628E549FB00929213 /* ARCHBLOXUITests */, + E95B7B4928E549FA00929213 /* Products */, + ); + sourceTree = ""; + }; + E95B7B4928E549FA00929213 /* Products */ = { + isa = PBXGroup; + children = ( + E95B7B4828E549FA00929213 /* ARCHBLOX.app */, + E95B7B5928E549FB00929213 /* ARCHBLOXTests.xctest */, + E95B7B6328E549FB00929213 /* ARCHBLOXUITests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + E95B7B4A28E549FA00929213 /* ARCHBLOX */ = { + isa = PBXGroup; + children = ( + E95B7B4F28E549FB00929213 /* Assets.xcassets */, + E95B7B5428E549FB00929213 /* ARCHBLOX.entitlements */, + E9D10F1129BF215800172363 /* MainView.swift */, + E9D10F1329BF225A00172363 /* LucidaGrande.ttf */, + E9D10F1429BF225A00172363 /* LucidaGrandeBold.ttf */, + E9D10F1529BF229900172363 /* ARCHBLOX.swift */, + E9D10F1729BF281000172363 /* HomeView.swift */, + E943F61629BF806C00DAD4AF /* LoadingScreen.swift */, + ); + path = ARCHBLOX; + sourceTree = ""; + }; + E95B7B5C28E549FB00929213 /* ARCHBLOXTests */ = { + isa = PBXGroup; + children = ( + E95B7B5D28E549FB00929213 /* ARCHBLOXTests.swift */, + ); + path = ARCHBLOXTests; + sourceTree = ""; + }; + E95B7B6628E549FB00929213 /* ARCHBLOXUITests */ = { + isa = PBXGroup; + children = ( + E95B7B6728E549FB00929213 /* ARCHBLOXUITests.swift */, + E95B7B6928E549FB00929213 /* ARCHBLOXUITestsLaunchTests.swift */, + ); + path = ARCHBLOXUITests; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + E95B7B4728E549FA00929213 /* ARCHBLOX */ = { + isa = PBXNativeTarget; + buildConfigurationList = E95B7B6D28E549FB00929213 /* Build configuration list for PBXNativeTarget "ARCHBLOX" */; + buildPhases = ( + E95B7B4428E549FA00929213 /* Sources */, + E95B7B4528E549FA00929213 /* Frameworks */, + E95B7B4628E549FA00929213 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = ARCHBLOX; + productName = ARCHBLOX; + productReference = E95B7B4828E549FA00929213 /* ARCHBLOX.app */; + productType = "com.apple.product-type.application"; + }; + E95B7B5828E549FB00929213 /* ARCHBLOXTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = E95B7B7028E549FB00929213 /* Build configuration list for PBXNativeTarget "ARCHBLOXTests" */; + buildPhases = ( + E95B7B5528E549FB00929213 /* Sources */, + E95B7B5628E549FB00929213 /* Frameworks */, + E95B7B5728E549FB00929213 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + E95B7B5B28E549FB00929213 /* PBXTargetDependency */, + ); + name = ARCHBLOXTests; + productName = ARCHBLOXTests; + productReference = E95B7B5928E549FB00929213 /* ARCHBLOXTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + E95B7B6228E549FB00929213 /* ARCHBLOXUITests */ = { + isa = PBXNativeTarget; + buildConfigurationList = E95B7B7328E549FB00929213 /* Build configuration list for PBXNativeTarget "ARCHBLOXUITests" */; + buildPhases = ( + E95B7B5F28E549FB00929213 /* Sources */, + E95B7B6028E549FB00929213 /* Frameworks */, + E95B7B6128E549FB00929213 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + E95B7B6528E549FB00929213 /* PBXTargetDependency */, + ); + name = ARCHBLOXUITests; + productName = ARCHBLOXUITests; + productReference = E95B7B6328E549FB00929213 /* ARCHBLOXUITests.xctest */; + productType = "com.apple.product-type.bundle.ui-testing"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + E95B7B4028E549FA00929213 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastSwiftUpdateCheck = 1400; + LastUpgradeCheck = 1420; + TargetAttributes = { + E95B7B4728E549FA00929213 = { + CreatedOnToolsVersion = 14.0.1; + }; + E95B7B5828E549FB00929213 = { + CreatedOnToolsVersion = 14.0.1; + TestTargetID = E95B7B4728E549FA00929213; + }; + E95B7B6228E549FB00929213 = { + CreatedOnToolsVersion = 14.0.1; + TestTargetID = E95B7B4728E549FA00929213; + }; + }; + }; + buildConfigurationList = E95B7B4328E549FA00929213 /* Build configuration list for PBXProject "ARCHBLOX" */; + compatibilityVersion = "Xcode 14.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = E95B7B3F28E549FA00929213; + productRefGroup = E95B7B4928E549FA00929213 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + E95B7B4728E549FA00929213 /* ARCHBLOX */, + E95B7B5828E549FB00929213 /* ARCHBLOXTests */, + E95B7B6228E549FB00929213 /* ARCHBLOXUITests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + E95B7B4628E549FA00929213 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + E95B7B5028E549FB00929213 /* Assets.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E95B7B5728E549FB00929213 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E95B7B6128E549FB00929213 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + E95B7B4428E549FA00929213 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + E943F61729BF806C00DAD4AF /* LoadingScreen.swift in Sources */, + E9D10F1829BF281000172363 /* HomeView.swift in Sources */, + E9D10F1229BF215800172363 /* MainView.swift in Sources */, + E9D10F1629BF229900172363 /* ARCHBLOX.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E95B7B5528E549FB00929213 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + E95B7B5E28E549FB00929213 /* ARCHBLOXTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E95B7B5F28E549FB00929213 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + E95B7B6A28E549FB00929213 /* ARCHBLOXUITestsLaunchTests.swift in Sources */, + E95B7B6828E549FB00929213 /* ARCHBLOXUITests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + E95B7B5B28E549FB00929213 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = E95B7B4728E549FA00929213 /* ARCHBLOX */; + targetProxy = E95B7B5A28E549FB00929213 /* PBXContainerItemProxy */; + }; + E95B7B6528E549FB00929213 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = E95B7B4728E549FA00929213 /* ARCHBLOX */; + targetProxy = E95B7B6428E549FB00929213 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + E95B7B6B28E549FB00929213 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + MACOSX_DEPLOYMENT_TARGET = 11.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + OTHER_CODE_SIGN_FLAGS = "--deep"; + SDKROOT = macosx; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + E95B7B6C28E549FB00929213 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + MACOSX_DEPLOYMENT_TARGET = 11.0; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + OTHER_CODE_SIGN_FLAGS = "--deep"; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + }; + name = Release; + }; + E95B7B6E28E549FB00929213 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcons; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; + CODE_SIGN_ENTITLEMENTS = ARCHBLOX/ARCHBLOX.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "-"; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEAD_CODE_STRIPPING = YES; + DEVELOPMENT_TEAM = BCRZP97G2M; + ENABLE_HARDENED_RUNTIME = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_CFBundleDisplayName = ARCHBLOX; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INFOPLIST_KEY_NSMainStoryboardFile = Main; + INFOPLIST_KEY_NSPrincipalClass = NSApplication; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchImage; + INFOPLIST_KEY_UIRequiresFullScreen = NO; + INFOPLIST_KEY_UIStatusBarStyle = UIStatusBarStyleDarkContent; + INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 11.0; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.ARCHBLOX.ARCHBLOX; + "PRODUCT_BUNDLE_IDENTIFIER[sdk=iphoneos*]" = com.ARCHBLOX.ARCHBLOXmobile; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SUPPORTED_PLATFORMS = "appletvos appletvsimulator iphoneos iphonesimulator macosx"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2,3"; + }; + name = Debug; + }; + E95B7B6F28E549FB00929213 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcons; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; + CODE_SIGN_ENTITLEMENTS = ARCHBLOX/ARCHBLOX.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "-"; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEAD_CODE_STRIPPING = YES; + DEVELOPMENT_TEAM = BCRZP97G2M; + ENABLE_HARDENED_RUNTIME = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_CFBundleDisplayName = ARCHBLOX; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INFOPLIST_KEY_NSMainStoryboardFile = Main; + INFOPLIST_KEY_NSPrincipalClass = NSApplication; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchImage; + INFOPLIST_KEY_UIRequiresFullScreen = NO; + INFOPLIST_KEY_UIStatusBarStyle = UIStatusBarStyleDarkContent; + INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 11.0; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.ARCHBLOX.ARCHBLOX; + "PRODUCT_BUNDLE_IDENTIFIER[sdk=iphoneos*]" = com.ARCHBLOX.ARCHBLOXmobile; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SUPPORTED_PLATFORMS = "appletvos appletvsimulator iphoneos iphonesimulator macosx"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2,3"; + }; + name = Release; + }; + E95B7B7128E549FB00929213 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEAD_CODE_STRIPPING = YES; + DEVELOPMENT_TEAM = BCRZP97G2M; + GENERATE_INFOPLIST_FILE = YES; + MACOSX_DEPLOYMENT_TARGET = 11.0; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.ARCHBLOX.ARCHBLOXTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/ARCHBLOX.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/ARCHBLOX"; + }; + name = Debug; + }; + E95B7B7228E549FB00929213 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEAD_CODE_STRIPPING = YES; + DEVELOPMENT_TEAM = BCRZP97G2M; + GENERATE_INFOPLIST_FILE = YES; + MACOSX_DEPLOYMENT_TARGET = 11.0; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.ARCHBLOX.ARCHBLOXTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/ARCHBLOX.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/ARCHBLOX"; + }; + name = Release; + }; + E95B7B7428E549FB00929213 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEAD_CODE_STRIPPING = YES; + DEVELOPMENT_TEAM = BCRZP97G2M; + GENERATE_INFOPLIST_FILE = YES; + MACOSX_DEPLOYMENT_TARGET = 11.0; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.ARCHBLOX.ARCHBLOXUITests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = ARCHBLOX; + }; + name = Debug; + }; + E95B7B7528E549FB00929213 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEAD_CODE_STRIPPING = YES; + DEVELOPMENT_TEAM = BCRZP97G2M; + GENERATE_INFOPLIST_FILE = YES; + MACOSX_DEPLOYMENT_TARGET = 11.0; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.ARCHBLOX.ARCHBLOXUITests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = ARCHBLOX; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + E95B7B4328E549FA00929213 /* Build configuration list for PBXProject "ARCHBLOX" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + E95B7B6B28E549FB00929213 /* Debug */, + E95B7B6C28E549FB00929213 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + E95B7B6D28E549FB00929213 /* Build configuration list for PBXNativeTarget "ARCHBLOX" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + E95B7B6E28E549FB00929213 /* Debug */, + E95B7B6F28E549FB00929213 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + E95B7B7028E549FB00929213 /* Build configuration list for PBXNativeTarget "ARCHBLOXTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + E95B7B7128E549FB00929213 /* Debug */, + E95B7B7228E549FB00929213 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + E95B7B7328E549FB00929213 /* Build configuration list for PBXNativeTarget "ARCHBLOXUITests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + E95B7B7428E549FB00929213 /* Debug */, + E95B7B7528E549FB00929213 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = E95B7B4028E549FA00929213 /* Project object */; +} diff --git a/ARCHBLOX-APPLE-MODERN/ARCHBLOX.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ARCHBLOX-APPLE-MODERN/ARCHBLOX.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/ARCHBLOX-APPLE-MODERN/ARCHBLOX.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/ARCHBLOX-APPLE-MODERN/ARCHBLOX.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ARCHBLOX-APPLE-MODERN/ARCHBLOX.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/ARCHBLOX-APPLE-MODERN/ARCHBLOX.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/ARCHBLOX-APPLE-MODERN/ARCHBLOX.xcodeproj/project.xcworkspace/xcuserdata/thomas.xcuserdatad/UserInterfaceState.xcuserstate b/ARCHBLOX-APPLE-MODERN/ARCHBLOX.xcodeproj/project.xcworkspace/xcuserdata/thomas.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..928161f5acdec1fcd428d9fd1d8bcede13963857 GIT binary patch literal 60829 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

X+58s$W(k)evhO(Kx1YLgSRi1&vD@S2V6^+|YQe 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 + + + + SchemeUserState + + ARCHBLOX.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff --git a/ARCHBLOX-APPLE-MODERN/ARCHBLOXTests/ARCHBLOXTests.swift b/ARCHBLOX-APPLE-MODERN/ARCHBLOXTests/ARCHBLOXTests.swift new file mode 100644 index 0000000..77d120b --- /dev/null +++ b/ARCHBLOX-APPLE-MODERN/ARCHBLOXTests/ARCHBLOXTests.swift @@ -0,0 +1,36 @@ +// +// ARCHBLOXTests.swift +// ARCHBLOXTests +// +// Created by Thomas G on 29/9/2022. +// + +import XCTest +@testable import ARCHBLOX + +final class ARCHBLOXTests: XCTestCase { + + override func setUpWithError() throws { + // Put setup code here. This method is called before the invocation of each test method in the class. + } + + override func tearDownWithError() throws { + // Put teardown code here. This method is called after the invocation of each test method in the class. + } + + func testExample() throws { + // This is an example of a functional test case. + // Use XCTAssert and related functions to verify your tests produce the correct results. + // Any test you write for XCTest can be annotated as throws and async. + // Mark your test throws to produce an unexpected failure when your test encounters an uncaught error. + // Mark your test async to allow awaiting for asynchronous code to complete. Check the results with assertions afterwards. + } + + func testPerformanceExample() throws { + // This is an example of a performance test case. + self.measure { + // Put the code you want to measure the time of here. + } + } + +} diff --git a/ARCHBLOX-APPLE-MODERN/ARCHBLOXUITests/ARCHBLOXUITests.swift b/ARCHBLOX-APPLE-MODERN/ARCHBLOXUITests/ARCHBLOXUITests.swift new file mode 100644 index 0000000..a174905 --- /dev/null +++ b/ARCHBLOX-APPLE-MODERN/ARCHBLOXUITests/ARCHBLOXUITests.swift @@ -0,0 +1,41 @@ +// +// ARCHBLOXUITests.swift +// ARCHBLOXUITests +// +// Created by Thomas G on 29/9/2022. +// + +import XCTest + +final class ARCHBLOXUITests: XCTestCase { + + override func setUpWithError() throws { + // Put setup code here. This method is called before the invocation of each test method in the class. + + // In UI tests it is usually best to stop immediately when a failure occurs. + continueAfterFailure = false + + // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. + } + + override func tearDownWithError() throws { + // Put teardown code here. This method is called after the invocation of each test method in the class. + } + + func testExample() throws { + // UI tests must launch the application that they test. + let app = XCUIApplication() + app.launch() + + // Use XCTAssert and related functions to verify your tests produce the correct results. + } + + func testLaunchPerformance() throws { + if #available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 7.0, *) { + // This measures how long it takes to launch your application. + measure(metrics: [XCTApplicationLaunchMetric()]) { + XCUIApplication().launch() + } + } + } +} diff --git a/ARCHBLOX-APPLE-MODERN/ARCHBLOXUITests/ARCHBLOXUITestsLaunchTests.swift b/ARCHBLOX-APPLE-MODERN/ARCHBLOXUITests/ARCHBLOXUITestsLaunchTests.swift new file mode 100644 index 0000000..bd0de41 --- /dev/null +++ b/ARCHBLOX-APPLE-MODERN/ARCHBLOXUITests/ARCHBLOXUITestsLaunchTests.swift @@ -0,0 +1,32 @@ +// +// ARCHBLOXUITestsLaunchTests.swift +// ARCHBLOXUITests +// +// Created by Thomas G on 29/9/2022. +// + +import XCTest + +final class ARCHBLOXUITestsLaunchTests: XCTestCase { + + override class var runsForEachTargetApplicationUIConfiguration: Bool { + true + } + + override func setUpWithError() throws { + continueAfterFailure = false + } + + func testLaunch() throws { + let app = XCUIApplication() + app.launch() + + // Insert steps here to perform after app launch but before taking a screenshot, + // such as logging into a test account or navigating somewhere in the app + + let attachment = XCTAttachment(screenshot: app.screenshot()) + attachment.name = "Launch Screen" + attachment.lifetime = .keepAlways + add(attachment) + } +}