Skip to content

Fix default local development signing#779

Merged
FuJacob merged 1 commit into
mainfrom
fix/default-development-team
Jul 11, 2026
Merged

Fix default local development signing#779
FuJacob merged 1 commit into
mainfrom
fix/default-development-team

Conversation

@FuJacob

@FuJacob FuJacob commented Jul 11, 2026

Copy link
Copy Markdown
Owner

Summary

Default local signing to Cotabby's development team through the shared signing xcconfig, so maintainers can pull main and run the dev scheme without Xcode dirtying the generated project. Contributors on other teams retain the one-time, gitignored Signing.local.xcconfig override.

Validation

  • xcodebuild -project Cotabby.xcodeproj -scheme 'Cotabby Dev' -configuration Debug -destination 'platform=macOS' -derivedDataPath build/DerivedData-DefaultTeam buildBUILD SUCCEEDED; resolved team G946M8K23B and signed with the local Apple Development certificate.
  • xcodebuild ... -showBuildSettings — resolved DEVELOPMENT_TEAM = G946M8K23B and PRODUCT_BUNDLE_IDENTIFIER = com.jacobfu.tabby.dev without a local signing file.
  • swiftlint lint --strict --quiet — exit 0.
  • xcodegen generate followed by git diff --check — generated project matches project.yml; exit 0.
  • bash -n scripts/dev-setup.sh — exit 0.

Linked issues

None.

Risk / rollout notes

The shared team only affects signed local builds. CI and contributor compile checks continue to use CODE_SIGNING_ALLOWED=NO; contributors who need to run the app with another team can run scripts/dev-setup.sh once, and its gitignored override wins over the shared default.

Greptile Summary

This PR changes the default local signing setup for the macOS app.

  • Adds Cotabby's development team as the shared signing default.
  • Regenerates the Xcode project with the new signing metadata.
  • Updates contributor docs and setup comments for local signing overrides.

Confidence Score: 4/5

The local signing override path can still pick the maintainer team in Xcode automatic signing.

  • The xcconfig include order lets Signing.local.xcconfig override the shared default.
  • The generated project also commits DevelopmentTeam = G946M8K23B in target attributes.
  • Contributors outside that team can hit provisioning failures despite creating the documented local override.

Cotabby.xcodeproj/project.pbxproj

Important Files Changed

Filename Overview
Config/Signing.xcconfig Adds the shared default team before the optional local include, so local xcconfig overrides can still win.
Cotabby.xcodeproj/project.pbxproj Regenerates signing metadata with the maintainer team in target attributes, which can conflict with contributor overrides.
project.yml Updates comments describing the shared default team and gitignored local override.
scripts/dev-setup.sh Updates script comments only; the local xcconfig generation behavior is unchanged.
CONTRIBUTING.md Updates setup instructions for maintainers using the shared team and contributors using a local override.

Fix All in Codex Fix All in Claude Code

Reviews (1): Last reviewed commit: "Fix default local development signing" | Re-trigger Greptile

Greptile also left 1 inline comment on this PR.

@@ -1943,15 +1943,15 @@
LastUpgradeCheck = 2600;
TargetAttributes = {
59F15B162977174E700D0CAA = {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P1 Target Metadata Overrides Signing

When a contributor creates Config/Signing.local.xcconfig with their own team, these automatic-signing target attributes can still make Xcode provision the targets with G946M8K23B. Contributors outside that team can then fail local signed builds even though the documented override resolves DEVELOPMENT_TEAM to their own team.

Fix in Codex Fix in Claude Code

@FuJacob FuJacob merged commit ee08322 into main Jul 11, 2026
5 checks passed
@FuJacob FuJacob deleted the fix/default-development-team branch July 11, 2026 00:26
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.

1 participant