Skip to content

Keep the Project Attributes When Fastlane Writes the Project - #199

Merged
PSchmiedmayer merged 1 commit into
mainfrom
fix/preserve-project-attributes
Aug 14, 2026
Merged

Keep the Project Attributes When Fastlane Writes the Project#199
PSchmiedmayer merged 1 commit into
mainfrom
fix/preserve-project-attributes

Conversation

@PSchmiedmayer

Copy link
Copy Markdown
Collaborator

♻️ Current situation & Problem

Fastlane opens and saves the Xcode project to set the bundle identifier and the build number, using a project parser that drops attributes it does not know. It does not know two attributes this project relies on, and reports both while deploying:

Xcodeproj doesn't know about the following attributes {"traits" => ["ResearchKit", "Textual", "default"]} for the 'XCRemoteSwiftPackageReference' isa.
Xcodeproj doesn't know about the following attributes {"dstSubfolder" => "Product"} for the 'PBXCopyFilesBuildPhase' isa.

Opening and saving the project with that parser, with no other change, removes the traits entry and all four dstSubfolder entries. The traits select the package products this app builds against, and the destinations are the ones that embed the watch app and the foundation extensions, so a deployment archives from a project that differs from the one in the repository.

No related issue was identified.

⚙️ Release Notes

  • Declare the two attributes so the project survives being written by Fastlane unchanged. The deployment lane is otherwise untouched, and the file can be deleted once the parser knows the attributes itself.

📚 Documentation

fastlane/xcodeproj_patch.rb records why it exists and when it can be removed.

✅ Testing

  • Opening and saving this project through the parser Fastlane uses was confirmed to remove the traits entry and all four dstSubfolder entries, and to keep every one of them byte for byte with this change in place
  • reuse lint, and the Fastfile and the patch parse

Code of Conduct & Contributing Guidelines

By creating and submitting this pull request, you agree to follow our Code of Conduct and Contributing Guidelines:

Copilot AI lite review requested due to automatic review settings August 14, 2026 18:30

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@coderabbitai

coderabbitai Bot commented Aug 14, 2026

Copy link
Copy Markdown

Important

Review available on request

  • 🔍 Trigger review

Reviews should be triggered manually for repositories with fewer than 10 stars. Select Trigger review above or comment @coderabbitai review to review the latest changes. For a full review, comment @coderabbitai full review.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 743e8147-cad8-467a-a586-e468323c6675


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@PSchmiedmayer
PSchmiedmayer merged commit 246b3f2 into main Aug 14, 2026
18 checks passed
@PSchmiedmayer
PSchmiedmayer deleted the fix/preserve-project-attributes branch August 14, 2026 18:38
@github-project-automation github-project-automation Bot moved this from In Progress to Done in MyHeart Counts Project Planning Aug 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants