Skip to content

Conversation

@graycreate
Copy link
Member

Summary

✅ Fixed xcconfig integration so versions are truly defined in ONE place only

Problem

Previously created Version.xcconfig but it wasn't actually being used by Xcode. The versions were still hardcoded in project.pbxproj in 4 places.

Solution

  1. Added baseConfigurationReference to link xcconfig to project configurations
  2. Removed all hardcoded versions from project.pbxproj
  3. Added Config group to project structure with proper file references
  4. Updated documentation to show the correct process

Result

Now to update versions, you ONLY need to edit:

V2er/Config/Version.xcconfig

Change these two lines:

MARKETING_VERSION = 1.1.2     # VERSION_NAME
CURRENT_PROJECT_VERSION = 30   # VERSION_CODE  

That's it! No more editing project.pbxproj in multiple places.

Testing

  • Updated VERSION_CODE from 29 to 30 in xcconfig to verify it works
  • Xcode will now read versions from this single file
  • All build configurations inherit these values automatically

🤖 Generated with Claude Code

- Added Version.xcconfig as the single source of truth for versions
- Linked xcconfig to project configurations via baseConfigurationReference
- Removed all hardcoded version values from project.pbxproj
- Added Config group to project structure with xcconfig file
- Updated documentation to reflect the correct process

Now only need to edit V2er/Config/Version.xcconfig to update versions!
No more updating multiple places in project.pbxproj.
Copilot AI review requested due to automatic review settings September 22, 2025 16:02
@graycreate graycreate merged commit 2096522 into main Sep 22, 2025
6 checks passed
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR fixes xcconfig integration to achieve true single-source version management by properly linking the Version.xcconfig file to Xcode project configurations and removing hardcoded version values.

  • Properly integrates Version.xcconfig by adding baseConfigurationReference links to project configurations
  • Removes all hardcoded version values from project.pbxproj to eliminate duplication
  • Updates documentation to reflect the simplified single-file version management process

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
VERSIONING.md Updated documentation to reflect simplified single-file version management process
V2er/Config/Version.xcconfig Incremented VERSION_CODE from 29 to 30 for testing
V2er.xcodeproj/project.pbxproj Added xcconfig file reference, Config group, and baseConfigurationReference links while removing hardcoded versions

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

CURRENT_PROJECT_VERSION = 29; /* VERSION_CODE */
# Update these two lines:
MARKETING_VERSION = 1.1.2 # VERSION_NAME (user-facing version)
CURRENT_PROJECT_VERSION = 29 # VERSION_CODE (build number)
Copy link

Copilot AI Sep 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The documentation shows VERSION_CODE as 29, but the actual Version.xcconfig file was updated to 30. This creates inconsistency between the documentation example and the actual configuration.

Suggested change
CURRENT_PROJECT_VERSION = 29 # VERSION_CODE (build number)
CURRENT_PROJECT_VERSION = 30 # VERSION_CODE (build number)

Copilot uses AI. Check for mistakes.
@graycreate graycreate deleted the bugfix/properly-use-xcconfig branch September 22, 2025 16:02
@github-actions
Copy link

Code Coverage Report ❌

Current coverage: 0%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants