crossmate

A collaborative crossword app for iOS
Log | Files | Refs | LICENSE

commit b195e6bfd32f3cf9b63db586f70b5c044b55332f
parent 9a502109ec7b85b10a204393b7ee4dedd46cbe2a
Author: Michael Camilleri <[email protected]>
Date:   Sun, 12 Apr 2026 17:13:26 +0900

Set initial version to 1.0

Diffstat:
MCrossmate.xcodeproj/project.pbxproj | 12++++++++++++
MCrossmate.xcodeproj/xcshareddata/xcschemes/Crossmate.xcscheme | 18++++++++++++++++++
MCrossmate/Info.plist | 4++--
Mproject.yml | 16++++++++++++++--
4 files changed, 46 insertions(+), 4 deletions(-)

diff --git a/Crossmate.xcodeproj/project.pbxproj b/Crossmate.xcodeproj/project.pbxproj @@ -71,6 +71,7 @@ 14F2AC5C3B50F4178859E9AC /* CrossmateApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CrossmateApp.swift; sourceTree = "<group>"; }; 1F2BE43E18B1CC6AAD27DC6D /* NYTBrowseView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NYTBrowseView.swift; sourceTree = "<group>"; }; 20B331CC55827FEF3420ABCE /* PlayerSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerSession.swift; sourceTree = "<group>"; }; + 26397B9DBC57DCF7B58899D4 /* BuildNumber.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = BuildNumber.xcconfig; sourceTree = "<group>"; }; 33878A29B09A6154C7A63C82 /* KeychainHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeychainHelper.swift; sourceTree = "<group>"; }; 38DDAD9D6470A894C3FD6F90 /* GameListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameListView.swift; sourceTree = "<group>"; }; 43DC132D49361C56DE79C13E /* GameMutator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameMutator.swift; sourceTree = "<group>"; }; @@ -200,6 +201,14 @@ path = Crossmate; sourceTree = "<group>"; }; + 6F470E54D9E6E99FCEA893D1 /* Generated */ = { + isa = PBXGroup; + children = ( + 26397B9DBC57DCF7B58899D4 /* BuildNumber.xcconfig */, + ); + path = Generated; + sourceTree = "<group>"; + }; 84445EA9CACB6AAAEDE6965F /* Views */ = { isa = PBXGroup; children = ( @@ -223,6 +232,7 @@ isa = PBXGroup; children = ( 5770CE69DB2B0B7462FACE53 /* Crossmate */, + 6F470E54D9E6E99FCEA893D1 /* Generated */, 01B07D8724DEA04C3E74558E /* Support */, 212DB6FCF46C41F81C41D232 /* Unit */, 12BCF7948BC2C200C647C279 /* Products */, @@ -411,6 +421,7 @@ /* Begin XCBuildConfiguration section */ 209C1E6D178C7EF962FC85A5 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 26397B9DBC57DCF7B58899D4 /* BuildNumber.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ASSETCATALOG_COMPILER_GENERATE_ASSET_SYMBOL_EXTENSIONS = YES; @@ -546,6 +557,7 @@ }; E7B092DD549FA4FFED8BC20E /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 26397B9DBC57DCF7B58899D4 /* BuildNumber.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ASSETCATALOG_COMPILER_GENERATE_ASSET_SYMBOL_EXTENSIONS = YES; diff --git a/Crossmate.xcodeproj/xcshareddata/xcschemes/Crossmate.xcscheme b/Crossmate.xcodeproj/xcshareddata/xcschemes/Crossmate.xcscheme @@ -6,6 +6,24 @@ parallelizeBuildables = "YES" buildImplicitDependencies = "YES" runPostActionsOnFailure = "NO"> + <PreActions> + <ExecutionAction + ActionType = "Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction"> + <ActionContent + title = "Run Script" + scriptText = "cd &quot;${SRCROOT}&quot;&#10;mkdir -p Generated&#10;buildYear=`git log -1 --format=%cd --date=format:%Y`&#10;buildVersion=`git rev-list HEAD | wc -l | tr -d &apos; &apos;`&#10;echo &quot;CURRENT_PROJECT_VERSION = $buildYear.$buildVersion&quot; &gt; Generated/BuildNumber.xcconfig&#10;"> + <EnvironmentBuildable> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "7708D1C8A0145D43BD15DEB7" + BuildableName = "Crossmate.app" + BlueprintName = "Crossmate" + ReferencedContainer = "container:Crossmate.xcodeproj"> + </BuildableReference> + </EnvironmentBuildable> + </ActionContent> + </ExecutionAction> + </PreActions> <BuildActionEntries> <BuildActionEntry buildForTesting = "YES" diff --git a/Crossmate/Info.plist b/Crossmate/Info.plist @@ -17,9 +17,9 @@ <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleShortVersionString</key> - <string>0.1</string> + <string>1.0</string> <key>CFBundleVersion</key> - <string>1</string> + <string>$(CURRENT_PROJECT_VERSION)</string> <key>ITSAppUsesNonExemptEncryption</key> <false/> <key>LSRequiresIPhoneOS</key> diff --git a/project.yml b/project.yml @@ -5,6 +5,10 @@ options: deploymentTarget: iOS: "26.0" +configFiles: + Debug: Generated/BuildNumber.xcconfig + Release: Generated/BuildNumber.xcconfig + settings: SWIFT_VERSION: 6 DEAD_CODE_STRIPPING: YES @@ -25,8 +29,8 @@ targets: path: Crossmate/Info.plist properties: CFBundleDisplayName: Crossmate - CFBundleShortVersionString: "0.1" - CFBundleVersion: "1" + CFBundleShortVersionString: "1.0" + CFBundleVersion: $(CURRENT_PROJECT_VERSION) ITSAppUsesNonExemptEncryption: false LSRequiresIPhoneOS: true UIBackgroundModes: @@ -68,6 +72,14 @@ schemes: build: targets: Crossmate: all + preActions: + - script: | + cd "${SRCROOT}" + mkdir -p Generated + buildYear=`git log -1 --format=%cd --date=format:%Y` + buildVersion=`git rev-list HEAD | wc -l | tr -d ' '` + echo "CURRENT_PROJECT_VERSION = $buildYear.$buildVersion" > Generated/BuildNumber.xcconfig + settingsTarget: Crossmate run: config: Debug test: