diff --git a/MineSwift.xcodeproj/project.pbxproj b/MineSwift.xcodeproj/project.pbxproj index b2338be..75db7cf 100644 --- a/MineSwift.xcodeproj/project.pbxproj +++ b/MineSwift.xcodeproj/project.pbxproj @@ -3,71 +3,72 @@ archiveVersion = 1; classes = { }; - objectVersion = 77; + objectVersion = 56; objects = { /* Begin PBXBuildFile section */ - A9E0E5802D082C67007683B6 /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = A9E0E57F2D082C67007683B6 /* README.md */; }; + A920C2CF2D24060E00E4F9B1 /* MineSwiftApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = A920C2CE2D24060E00E4F9B1 /* MineSwiftApp.swift */; }; + A920C2D12D24060E00E4F9B1 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A920C2D02D24060E00E4F9B1 /* ContentView.swift */; }; + A920C2D32D24060E00E4F9B1 /* Item.swift in Sources */ = {isa = PBXBuildFile; fileRef = A920C2D22D24060E00E4F9B1 /* Item.swift */; }; + A920C2D52D24061300E4F9B1 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A920C2D42D24061300E4F9B1 /* Assets.xcassets */; }; + A920C2D92D24061300E4F9B1 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A920C2D82D24061300E4F9B1 /* Preview Assets.xcassets */; }; + A920C2E32D24061400E4F9B1 /* MineSwiftTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A920C2E22D24061400E4F9B1 /* MineSwiftTests.swift */; }; + A920C2ED2D24061400E4F9B1 /* MineSwiftUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A920C2EC2D24061400E4F9B1 /* MineSwiftUITests.swift */; }; + A920C2EF2D24061400E4F9B1 /* MineSwiftUITestsLaunchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A920C2EE2D24061400E4F9B1 /* MineSwiftUITestsLaunchTests.swift */; }; + A920C3012D2406B500E4F9B1 /* MinesweeperView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A920C2FF2D2406B400E4F9B1 /* MinesweeperView.swift */; }; + A920C3022D2406B600E4F9B1 /* MinesweeperGame.swift in Sources */ = {isa = PBXBuildFile; fileRef = A920C3002D2406B500E4F9B1 /* MinesweeperGame.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - A9AE20172D063AB200200A07 /* PBXContainerItemProxy */ = { + A920C2DF2D24061400E4F9B1 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = A9AE1FFD2D063AAC00200A07 /* Project object */; + containerPortal = A920C2C32D24060E00E4F9B1 /* Project object */; proxyType = 1; - remoteGlobalIDString = A9AE20042D063AAD00200A07; + remoteGlobalIDString = A920C2CA2D24060E00E4F9B1; remoteInfo = MineSwift; }; - A9AE20212D063AB200200A07 /* PBXContainerItemProxy */ = { + A920C2E92D24061400E4F9B1 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = A9AE1FFD2D063AAC00200A07 /* Project object */; + containerPortal = A920C2C32D24060E00E4F9B1 /* Project object */; proxyType = 1; - remoteGlobalIDString = A9AE20042D063AAD00200A07; + remoteGlobalIDString = A920C2CA2D24060E00E4F9B1; remoteInfo = MineSwift; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - A9AE20052D063AAD00200A07 /* MineSwift.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MineSwift.app; sourceTree = BUILT_PRODUCTS_DIR; }; - A9AE20162D063AB200200A07 /* MineSwiftTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MineSwiftTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - A9AE20202D063AB200200A07 /* MineSwiftUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MineSwiftUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - A9E0E57F2D082C67007683B6 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; + A920C2CB2D24060E00E4F9B1 /* MineSwift.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MineSwift.app; sourceTree = BUILT_PRODUCTS_DIR; }; + A920C2CE2D24060E00E4F9B1 /* MineSwiftApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MineSwiftApp.swift; sourceTree = ""; }; + A920C2D02D24060E00E4F9B1 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; + A920C2D22D24060E00E4F9B1 /* Item.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Item.swift; sourceTree = ""; }; + A920C2D42D24061300E4F9B1 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + A920C2D62D24061300E4F9B1 /* MineSwift.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = MineSwift.entitlements; sourceTree = ""; }; + A920C2D82D24061300E4F9B1 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; + A920C2DE2D24061400E4F9B1 /* MineSwiftTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MineSwiftTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + A920C2E22D24061400E4F9B1 /* MineSwiftTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MineSwiftTests.swift; sourceTree = ""; }; + A920C2E82D24061400E4F9B1 /* MineSwiftUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MineSwiftUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + A920C2EC2D24061400E4F9B1 /* MineSwiftUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MineSwiftUITests.swift; sourceTree = ""; }; + A920C2EE2D24061400E4F9B1 /* MineSwiftUITestsLaunchTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MineSwiftUITestsLaunchTests.swift; sourceTree = ""; }; + A920C2FF2D2406B400E4F9B1 /* MinesweeperView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MinesweeperView.swift; sourceTree = ""; }; + A920C3002D2406B500E4F9B1 /* MinesweeperGame.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MinesweeperGame.swift; sourceTree = ""; }; /* End PBXFileReference section */ -/* Begin PBXFileSystemSynchronizedRootGroup section */ - A9AE20072D063AAD00200A07 /* MineSwift */ = { - isa = PBXFileSystemSynchronizedRootGroup; - path = MineSwift; - sourceTree = ""; - }; - A9AE20192D063AB200200A07 /* MineSwiftTests */ = { - isa = PBXFileSystemSynchronizedRootGroup; - path = MineSwiftTests; - sourceTree = ""; - }; - A9AE20232D063AB200200A07 /* MineSwiftUITests */ = { - isa = PBXFileSystemSynchronizedRootGroup; - path = MineSwiftUITests; - sourceTree = ""; - }; -/* End PBXFileSystemSynchronizedRootGroup section */ - /* Begin PBXFrameworksBuildPhase section */ - A9AE20022D063AAD00200A07 /* Frameworks */ = { + A920C2C82D24060E00E4F9B1 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - A9AE20132D063AB200200A07 /* Frameworks */ = { + A920C2DB2D24061400E4F9B1 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - A9AE201D2D063AB200200A07 /* Frameworks */ = { + A920C2E52D24061400E4F9B1 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( @@ -77,159 +78,183 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - A9AE1FFC2D063AAC00200A07 = { + A920C2C22D24060E00E4F9B1 = { isa = PBXGroup; children = ( - A9E0E57F2D082C67007683B6 /* README.md */, - A9AE20072D063AAD00200A07 /* MineSwift */, - A9AE20192D063AB200200A07 /* MineSwiftTests */, - A9AE20232D063AB200200A07 /* MineSwiftUITests */, - A9AE20062D063AAD00200A07 /* Products */, + A920C2CD2D24060E00E4F9B1 /* MineSwift */, + A920C2E12D24061400E4F9B1 /* MineSwiftTests */, + A920C2EB2D24061400E4F9B1 /* MineSwiftUITests */, + A920C2CC2D24060E00E4F9B1 /* Products */, ); sourceTree = ""; }; - A9AE20062D063AAD00200A07 /* Products */ = { + A920C2CC2D24060E00E4F9B1 /* Products */ = { isa = PBXGroup; children = ( - A9AE20052D063AAD00200A07 /* MineSwift.app */, - A9AE20162D063AB200200A07 /* MineSwiftTests.xctest */, - A9AE20202D063AB200200A07 /* MineSwiftUITests.xctest */, + A920C2CB2D24060E00E4F9B1 /* MineSwift.app */, + A920C2DE2D24061400E4F9B1 /* MineSwiftTests.xctest */, + A920C2E82D24061400E4F9B1 /* MineSwiftUITests.xctest */, ); name = Products; sourceTree = ""; }; + A920C2CD2D24060E00E4F9B1 /* MineSwift */ = { + isa = PBXGroup; + children = ( + A920C2CE2D24060E00E4F9B1 /* MineSwiftApp.swift */, + A920C2D02D24060E00E4F9B1 /* ContentView.swift */, + A920C3002D2406B500E4F9B1 /* MinesweeperGame.swift */, + A920C2FF2D2406B400E4F9B1 /* MinesweeperView.swift */, + A920C2D22D24060E00E4F9B1 /* Item.swift */, + A920C2D42D24061300E4F9B1 /* Assets.xcassets */, + A920C2D62D24061300E4F9B1 /* MineSwift.entitlements */, + A920C2D72D24061300E4F9B1 /* Preview Content */, + ); + path = MineSwift; + sourceTree = ""; + }; + A920C2D72D24061300E4F9B1 /* Preview Content */ = { + isa = PBXGroup; + children = ( + A920C2D82D24061300E4F9B1 /* Preview Assets.xcassets */, + ); + path = "Preview Content"; + sourceTree = ""; + }; + A920C2E12D24061400E4F9B1 /* MineSwiftTests */ = { + isa = PBXGroup; + children = ( + A920C2E22D24061400E4F9B1 /* MineSwiftTests.swift */, + ); + path = MineSwiftTests; + sourceTree = ""; + }; + A920C2EB2D24061400E4F9B1 /* MineSwiftUITests */ = { + isa = PBXGroup; + children = ( + A920C2EC2D24061400E4F9B1 /* MineSwiftUITests.swift */, + A920C2EE2D24061400E4F9B1 /* MineSwiftUITestsLaunchTests.swift */, + ); + path = MineSwiftUITests; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - A9AE20042D063AAD00200A07 /* MineSwift */ = { + A920C2CA2D24060E00E4F9B1 /* MineSwift */ = { isa = PBXNativeTarget; - buildConfigurationList = A9AE202A2D063AB200200A07 /* Build configuration list for PBXNativeTarget "MineSwift" */; + buildConfigurationList = A920C2F22D24061400E4F9B1 /* Build configuration list for PBXNativeTarget "MineSwift" */; buildPhases = ( - A9AE20012D063AAD00200A07 /* Sources */, - A9AE20022D063AAD00200A07 /* Frameworks */, - A9AE20032D063AAD00200A07 /* Resources */, + A920C2C72D24060E00E4F9B1 /* Sources */, + A920C2C82D24060E00E4F9B1 /* Frameworks */, + A920C2C92D24060E00E4F9B1 /* Resources */, ); buildRules = ( ); dependencies = ( ); - fileSystemSynchronizedGroups = ( - A9AE20072D063AAD00200A07 /* MineSwift */, - ); name = MineSwift; - packageProductDependencies = ( - ); productName = MineSwift; - productReference = A9AE20052D063AAD00200A07 /* MineSwift.app */; + productReference = A920C2CB2D24060E00E4F9B1 /* MineSwift.app */; productType = "com.apple.product-type.application"; }; - A9AE20152D063AB200200A07 /* MineSwiftTests */ = { + A920C2DD2D24061400E4F9B1 /* MineSwiftTests */ = { isa = PBXNativeTarget; - buildConfigurationList = A9AE202D2D063AB200200A07 /* Build configuration list for PBXNativeTarget "MineSwiftTests" */; + buildConfigurationList = A920C2F52D24061400E4F9B1 /* Build configuration list for PBXNativeTarget "MineSwiftTests" */; buildPhases = ( - A9AE20122D063AB200200A07 /* Sources */, - A9AE20132D063AB200200A07 /* Frameworks */, - A9AE20142D063AB200200A07 /* Resources */, + A920C2DA2D24061400E4F9B1 /* Sources */, + A920C2DB2D24061400E4F9B1 /* Frameworks */, + A920C2DC2D24061400E4F9B1 /* Resources */, ); buildRules = ( ); dependencies = ( - A9AE20182D063AB200200A07 /* PBXTargetDependency */, - ); - fileSystemSynchronizedGroups = ( - A9AE20192D063AB200200A07 /* MineSwiftTests */, + A920C2E02D24061400E4F9B1 /* PBXTargetDependency */, ); name = MineSwiftTests; - packageProductDependencies = ( - ); productName = MineSwiftTests; - productReference = A9AE20162D063AB200200A07 /* MineSwiftTests.xctest */; + productReference = A920C2DE2D24061400E4F9B1 /* MineSwiftTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; - A9AE201F2D063AB200200A07 /* MineSwiftUITests */ = { + A920C2E72D24061400E4F9B1 /* MineSwiftUITests */ = { isa = PBXNativeTarget; - buildConfigurationList = A9AE20302D063AB200200A07 /* Build configuration list for PBXNativeTarget "MineSwiftUITests" */; + buildConfigurationList = A920C2F82D24061400E4F9B1 /* Build configuration list for PBXNativeTarget "MineSwiftUITests" */; buildPhases = ( - A9AE201C2D063AB200200A07 /* Sources */, - A9AE201D2D063AB200200A07 /* Frameworks */, - A9AE201E2D063AB200200A07 /* Resources */, + A920C2E42D24061400E4F9B1 /* Sources */, + A920C2E52D24061400E4F9B1 /* Frameworks */, + A920C2E62D24061400E4F9B1 /* Resources */, ); buildRules = ( ); dependencies = ( - A9AE20222D063AB200200A07 /* PBXTargetDependency */, - ); - fileSystemSynchronizedGroups = ( - A9AE20232D063AB200200A07 /* MineSwiftUITests */, + A920C2EA2D24061400E4F9B1 /* PBXTargetDependency */, ); name = MineSwiftUITests; - packageProductDependencies = ( - ); productName = MineSwiftUITests; - productReference = A9AE20202D063AB200200A07 /* MineSwiftUITests.xctest */; + productReference = A920C2E82D24061400E4F9B1 /* MineSwiftUITests.xctest */; productType = "com.apple.product-type.bundle.ui-testing"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - A9AE1FFD2D063AAC00200A07 /* Project object */ = { + A920C2C32D24060E00E4F9B1 /* Project object */ = { isa = PBXProject; attributes = { BuildIndependentTargetsInParallel = 1; - LastSwiftUpdateCheck = 1610; - LastUpgradeCheck = 1610; + LastSwiftUpdateCheck = 1540; + LastUpgradeCheck = 1540; TargetAttributes = { - A9AE20042D063AAD00200A07 = { - CreatedOnToolsVersion = 16.1; + A920C2CA2D24060E00E4F9B1 = { + CreatedOnToolsVersion = 15.4; }; - A9AE20152D063AB200200A07 = { - CreatedOnToolsVersion = 16.1; - TestTargetID = A9AE20042D063AAD00200A07; + A920C2DD2D24061400E4F9B1 = { + CreatedOnToolsVersion = 15.4; + TestTargetID = A920C2CA2D24060E00E4F9B1; }; - A9AE201F2D063AB200200A07 = { - CreatedOnToolsVersion = 16.1; - TestTargetID = A9AE20042D063AAD00200A07; + A920C2E72D24061400E4F9B1 = { + CreatedOnToolsVersion = 15.4; + TestTargetID = A920C2CA2D24060E00E4F9B1; }; }; }; - buildConfigurationList = A9AE20002D063AAC00200A07 /* Build configuration list for PBXProject "MineSwift" */; + buildConfigurationList = A920C2C62D24060E00E4F9B1 /* Build configuration list for PBXProject "MineSwift" */; + compatibilityVersion = "Xcode 14.0"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, Base, ); - mainGroup = A9AE1FFC2D063AAC00200A07; - minimizedProjectReferenceProxies = 1; - preferredProjectObjectVersion = 77; - productRefGroup = A9AE20062D063AAD00200A07 /* Products */; + mainGroup = A920C2C22D24060E00E4F9B1; + productRefGroup = A920C2CC2D24060E00E4F9B1 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - A9AE20042D063AAD00200A07 /* MineSwift */, - A9AE20152D063AB200200A07 /* MineSwiftTests */, - A9AE201F2D063AB200200A07 /* MineSwiftUITests */, + A920C2CA2D24060E00E4F9B1 /* MineSwift */, + A920C2DD2D24061400E4F9B1 /* MineSwiftTests */, + A920C2E72D24061400E4F9B1 /* MineSwiftUITests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - A9AE20032D063AAD00200A07 /* Resources */ = { + A920C2C92D24060E00E4F9B1 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - A9E0E5802D082C67007683B6 /* README.md in Resources */, + A920C2D92D24061300E4F9B1 /* Preview Assets.xcassets in Resources */, + A920C2D52D24061300E4F9B1 /* Assets.xcassets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - A9AE20142D063AB200200A07 /* Resources */ = { + A920C2DC2D24061400E4F9B1 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - A9AE201E2D063AB200200A07 /* Resources */ = { + A920C2E62D24061400E4F9B1 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -239,44 +264,52 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - A9AE20012D063AAD00200A07 /* Sources */ = { + A920C2C72D24060E00E4F9B1 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + A920C2D12D24060E00E4F9B1 /* ContentView.swift in Sources */, + A920C2D32D24060E00E4F9B1 /* Item.swift in Sources */, + A920C2CF2D24060E00E4F9B1 /* MineSwiftApp.swift in Sources */, + A920C3012D2406B500E4F9B1 /* MinesweeperView.swift in Sources */, + A920C3022D2406B600E4F9B1 /* MinesweeperGame.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - A9AE20122D063AB200200A07 /* Sources */ = { + A920C2DA2D24061400E4F9B1 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + A920C2E32D24061400E4F9B1 /* MineSwiftTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - A9AE201C2D063AB200200A07 /* Sources */ = { + A920C2E42D24061400E4F9B1 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + A920C2ED2D24061400E4F9B1 /* MineSwiftUITests.swift in Sources */, + A920C2EF2D24061400E4F9B1 /* MineSwiftUITestsLaunchTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - A9AE20182D063AB200200A07 /* PBXTargetDependency */ = { + A920C2E02D24061400E4F9B1 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = A9AE20042D063AAD00200A07 /* MineSwift */; - targetProxy = A9AE20172D063AB200200A07 /* PBXContainerItemProxy */; + target = A920C2CA2D24060E00E4F9B1 /* MineSwift */; + targetProxy = A920C2DF2D24061400E4F9B1 /* PBXContainerItemProxy */; }; - A9AE20222D063AB200200A07 /* PBXTargetDependency */ = { + A920C2EA2D24061400E4F9B1 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = A9AE20042D063AAD00200A07 /* MineSwift */; - targetProxy = A9AE20212D063AB200200A07 /* PBXContainerItemProxy */; + target = A920C2CA2D24060E00E4F9B1 /* MineSwift */; + targetProxy = A920C2E92D24061400E4F9B1 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - A9AE20282D063AB200200A07 /* Debug */ = { + A920C2F02D24061400E4F9B1 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -337,7 +370,7 @@ }; name = Debug; }; - A9AE20292D063AB200200A07 /* Release */ = { + A920C2F12D24061400E4F9B1 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -390,7 +423,7 @@ }; name = Release; }; - A9AE202B2D063AB200200A07 /* Debug */ = { + A920C2F32D24061400E4F9B1 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; @@ -399,7 +432,7 @@ CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_ASSET_PATHS = "\"MineSwift/Preview Content\""; - DEVELOPMENT_TEAM = 8626DL2GW3; + DEVELOPMENT_TEAM = P6PV2R9443; ENABLE_HARDENED_RUNTIME = YES; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; @@ -413,24 +446,22 @@ "INFOPLIST_KEY_UIStatusBarStyle[sdk=iphonesimulator*]" = UIStatusBarStyleDefault; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; - IPHONEOS_DEPLOYMENT_TARGET = 16; + IPHONEOS_DEPLOYMENT_TARGET = 17.5; LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 13; + MACOSX_DEPLOYMENT_TARGET = 14.0; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.neon443.MineSwift; + PRODUCT_BUNDLE_IDENTIFIER = dev.neon443.MineSwift; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = auto; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx"; - SUPPORTS_MACCATALYST = NO; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - XROS_DEPLOYMENT_TARGET = 2.1; }; name = Debug; }; - A9AE202C2D063AB200200A07 /* Release */ = { + A920C2F42D24061400E4F9B1 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; @@ -439,7 +470,7 @@ CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_ASSET_PATHS = "\"MineSwift/Preview Content\""; - DEVELOPMENT_TEAM = 8626DL2GW3; + DEVELOPMENT_TEAM = P6PV2R9443; ENABLE_HARDENED_RUNTIME = YES; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; @@ -453,153 +484,151 @@ "INFOPLIST_KEY_UIStatusBarStyle[sdk=iphonesimulator*]" = UIStatusBarStyleDefault; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; - IPHONEOS_DEPLOYMENT_TARGET = 16; + IPHONEOS_DEPLOYMENT_TARGET = 17.5; LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 13; + MACOSX_DEPLOYMENT_TARGET = 14.0; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.neon443.MineSwift; + PRODUCT_BUNDLE_IDENTIFIER = dev.neon443.MineSwift; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = auto; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx"; - SUPPORTS_MACCATALYST = NO; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - XROS_DEPLOYMENT_TARGET = 2.1; }; name = Release; }; - A9AE202E2D063AB200200A07 /* Debug */ = { + A920C2F62D24061400E4F9B1 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = 8626DL2GW3; + DEVELOPMENT_TEAM = P6PV2R9443; GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 18.1; - MACOSX_DEPLOYMENT_TARGET = 15.1; + IPHONEOS_DEPLOYMENT_TARGET = 17.5; + MACOSX_DEPLOYMENT_TARGET = 14.5; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.neon443.MineSwiftTests; + PRODUCT_BUNDLE_IDENTIFIER = dev.neon443.MineSwiftTests; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = auto; - SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx xros xrsimulator"; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx"; SWIFT_EMIT_LOC_STRINGS = NO; SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2,7"; + TARGETED_DEVICE_FAMILY = "1,2"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MineSwift.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/MineSwift"; - XROS_DEPLOYMENT_TARGET = 2.1; }; name = Debug; }; - A9AE202F2D063AB200200A07 /* Release */ = { + A920C2F72D24061400E4F9B1 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = 8626DL2GW3; + DEVELOPMENT_TEAM = P6PV2R9443; GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 18.1; - MACOSX_DEPLOYMENT_TARGET = 15.1; + IPHONEOS_DEPLOYMENT_TARGET = 17.5; + MACOSX_DEPLOYMENT_TARGET = 14.5; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.neon443.MineSwiftTests; + PRODUCT_BUNDLE_IDENTIFIER = dev.neon443.MineSwiftTests; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = auto; - SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx xros xrsimulator"; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx"; SWIFT_EMIT_LOC_STRINGS = NO; SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2,7"; + TARGETED_DEVICE_FAMILY = "1,2"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MineSwift.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/MineSwift"; - XROS_DEPLOYMENT_TARGET = 2.1; }; name = Release; }; - A9AE20312D063AB200200A07 /* Debug */ = { + A920C2F92D24061400E4F9B1 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = 8626DL2GW3; + DEVELOPMENT_TEAM = P6PV2R9443; GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 18.1; - MACOSX_DEPLOYMENT_TARGET = 15.1; + IPHONEOS_DEPLOYMENT_TARGET = 17.5; + MACOSX_DEPLOYMENT_TARGET = 14.5; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.neon443.MineSwiftUITests; + PRODUCT_BUNDLE_IDENTIFIER = dev.neon443.MineSwiftUITests; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = auto; - SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx xros xrsimulator"; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx"; SWIFT_EMIT_LOC_STRINGS = NO; SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2,7"; + TARGETED_DEVICE_FAMILY = "1,2"; TEST_TARGET_NAME = MineSwift; - XROS_DEPLOYMENT_TARGET = 2.1; }; name = Debug; }; - A9AE20322D063AB200200A07 /* Release */ = { + A920C2FA2D24061400E4F9B1 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = 8626DL2GW3; + DEVELOPMENT_TEAM = P6PV2R9443; GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 18.1; - MACOSX_DEPLOYMENT_TARGET = 15.1; + IPHONEOS_DEPLOYMENT_TARGET = 17.5; + MACOSX_DEPLOYMENT_TARGET = 14.5; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.neon443.MineSwiftUITests; + PRODUCT_BUNDLE_IDENTIFIER = dev.neon443.MineSwiftUITests; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = auto; - SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx xros xrsimulator"; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx"; SWIFT_EMIT_LOC_STRINGS = NO; SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2,7"; + TARGETED_DEVICE_FAMILY = "1,2"; TEST_TARGET_NAME = MineSwift; - XROS_DEPLOYMENT_TARGET = 2.1; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - A9AE20002D063AAC00200A07 /* Build configuration list for PBXProject "MineSwift" */ = { + A920C2C62D24060E00E4F9B1 /* Build configuration list for PBXProject "MineSwift" */ = { isa = XCConfigurationList; buildConfigurations = ( - A9AE20282D063AB200200A07 /* Debug */, - A9AE20292D063AB200200A07 /* Release */, + A920C2F02D24061400E4F9B1 /* Debug */, + A920C2F12D24061400E4F9B1 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - A9AE202A2D063AB200200A07 /* Build configuration list for PBXNativeTarget "MineSwift" */ = { + A920C2F22D24061400E4F9B1 /* Build configuration list for PBXNativeTarget "MineSwift" */ = { isa = XCConfigurationList; buildConfigurations = ( - A9AE202B2D063AB200200A07 /* Debug */, - A9AE202C2D063AB200200A07 /* Release */, + A920C2F32D24061400E4F9B1 /* Debug */, + A920C2F42D24061400E4F9B1 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - A9AE202D2D063AB200200A07 /* Build configuration list for PBXNativeTarget "MineSwiftTests" */ = { + A920C2F52D24061400E4F9B1 /* Build configuration list for PBXNativeTarget "MineSwiftTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - A9AE202E2D063AB200200A07 /* Debug */, - A9AE202F2D063AB200200A07 /* Release */, + A920C2F62D24061400E4F9B1 /* Debug */, + A920C2F72D24061400E4F9B1 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - A9AE20302D063AB200200A07 /* Build configuration list for PBXNativeTarget "MineSwiftUITests" */ = { + A920C2F82D24061400E4F9B1 /* Build configuration list for PBXNativeTarget "MineSwiftUITests" */ = { isa = XCConfigurationList; buildConfigurations = ( - A9AE20312D063AB200200A07 /* Debug */, - A9AE20322D063AB200200A07 /* Release */, + A920C2F92D24061400E4F9B1 /* Debug */, + A920C2FA2D24061400E4F9B1 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = A9AE1FFD2D063AAC00200A07 /* Project object */; + rootObject = A920C2C32D24060E00E4F9B1 /* Project object */; } diff --git a/MineSwift.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/MineSwift.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/MineSwift.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/MineSwift/Assets.xcassets/AppIcon.appiconset/Contents.json b/MineSwift/Assets.xcassets/AppIcon.appiconset/Contents.json index ffdfe15..532cd72 100644 --- a/MineSwift/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/MineSwift/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -5,28 +5,6 @@ "platform" : "ios", "size" : "1024x1024" }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "dark" - } - ], - "idiom" : "universal", - "platform" : "ios", - "size" : "1024x1024" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "tinted" - } - ], - "idiom" : "universal", - "platform" : "ios", - "size" : "1024x1024" - }, { "idiom" : "mac", "scale" : "1x", diff --git a/MineSwift/Item.swift b/MineSwift/Item.swift new file mode 100644 index 0000000..58589f7 --- /dev/null +++ b/MineSwift/Item.swift @@ -0,0 +1,18 @@ +// +// Item.swift +// MineSwift +// +// Created by Nihaal Sharma on 31/12/2024. +// + +import Foundation +import SwiftData + +@Model +final class Item { + var timestamp: Date + + init(timestamp: Date) { + self.timestamp = timestamp + } +} diff --git a/MineSwift/MinesweeperView.swift b/MineSwift/MinesweeperView.swift index d648670..d44d493 100644 --- a/MineSwift/MinesweeperView.swift +++ b/MineSwift/MinesweeperView.swift @@ -20,43 +20,54 @@ struct MinesweeperView: View { let rows: Int let cols: Int let bombs: Int - - @State var flag: Bool = false - + + @State private var flag: Bool = false + @State private var hoveredCell: (Int, Int)? = nil + var body: some View { VStack { VStack(spacing: 0) { - ForEach(0.. Bool { + guard let hovered = hoveredCell else { return false } + let (hoveredRow, hoveredCol) = hovered + return abs(row - hoveredRow) <= 1 && abs(col - hoveredCol) <= 1 + } } struct CellView: View { var cell: MinesweeperGame.Cell - var game: MinesweeperGame - + var isHighlighted: Bool + var body: some View { ZStack { - if cell.state == .revealed { + if isHighlighted { + Color.gray.opacity(0.1) + .animation(.easeInOut(duration: 0.3), value: isHighlighted) + } else if cell.state == .revealed { Color.black } else { Color.blue } + if cell.state == .revealed { if cell.isMine { Image(systemName: "multiply") @@ -96,7 +117,7 @@ struct CellView: View { .bold() } } - + if cell.state == .flagged { Image(systemName: "flag.fill") .resizable() @@ -111,4 +132,3 @@ struct CellView: View { #Preview { MinesweeperView(rows: 10, cols: 10, bombs: 5) } - diff --git a/MineSwiftTests/MineSwiftTests.swift b/MineSwiftTests/MineSwiftTests.swift index e111257..217a327 100644 --- a/MineSwiftTests/MineSwiftTests.swift +++ b/MineSwiftTests/MineSwiftTests.swift @@ -2,15 +2,34 @@ // MineSwiftTests.swift // MineSwiftTests // -// Created by Nihaal Sharma on 08/12/2024. +// Created by Nihaal Sharma on 31/12/2024. // -import Testing +import XCTest -struct MineSwiftTests { +final class MineSwiftTests: XCTestCase { - @Test func example() async throws { - // Write your test here and use APIs like `#expect(...)` to check expected conditions. + 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. + measure { + // Put the code you want to measure the time of here. + } } } diff --git a/MineSwiftUITests/MineSwiftUITests.swift b/MineSwiftUITests/MineSwiftUITests.swift index 57544e0..99ab5b7 100644 --- a/MineSwiftUITests/MineSwiftUITests.swift +++ b/MineSwiftUITests/MineSwiftUITests.swift @@ -2,7 +2,7 @@ // MineSwiftUITests.swift // MineSwiftUITests // -// Created by Nihaal Sharma on 08/12/2024. +// Created by Nihaal Sharma on 31/12/2024. // import XCTest @@ -22,7 +22,6 @@ final class MineSwiftUITests: XCTestCase { // Put teardown code here. This method is called after the invocation of each test method in the class. } - @MainActor func testExample() throws { // UI tests must launch the application that they test. let app = XCUIApplication() @@ -31,7 +30,6 @@ final class MineSwiftUITests: XCTestCase { // Use XCTAssert and related functions to verify your tests produce the correct results. } - @MainActor 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. diff --git a/MineSwiftUITests/MineSwiftUITestsLaunchTests.swift b/MineSwiftUITests/MineSwiftUITestsLaunchTests.swift index c863ff3..9ac1eda 100644 --- a/MineSwiftUITests/MineSwiftUITestsLaunchTests.swift +++ b/MineSwiftUITests/MineSwiftUITestsLaunchTests.swift @@ -2,7 +2,7 @@ // MineSwiftUITestsLaunchTests.swift // MineSwiftUITests // -// Created by Nihaal Sharma on 08/12/2024. +// Created by Nihaal Sharma on 31/12/2024. // import XCTest @@ -17,7 +17,6 @@ final class MineSwiftUITestsLaunchTests: XCTestCase { continueAfterFailure = false } - @MainActor func testLaunch() throws { let app = XCUIApplication() app.launch()