Repository navigation
build(ios): Make the bundle id prefix configurable via a project-level xcconfig - #701
Merged
Merged
Conversation
Every target hardcoded PRODUCT_BUNDLE_IDENTIFIER/APP_GROUP_ID/WKCompanionAppBundleIdentifier under com.noopapp, so building under your own Apple ID meant hand-editing project.yml in six places to avoid colliding with an installed official/sideloaded copy. Introduce a BUNDLE_ID_PREFIX xcconfig variable (project.yml's new project-level configFiles, default com.noopapp; override in a gitignored Config/BundleIdSecrets.xcconfig) that every target picks up automatically, including targets that also carry their own separate xcconfig, since Xcode layers project-level xcconfig beneath target-level xcconfig. WatchScoreSnapshot.appGroupId (StrandDesign) now resolves the App Group dynamically from the running bundle's AppGroupIdentifier Info.plist key, mirroring the existing WidgetSnapshot pattern, so the phone-to-watch bridge follows the same prefix instead of always writing to the upstream group. ScheduledDebugExport.bgTaskIdentifier derives from Bundle.main the same way. Left StorePaths/LocalAccessCore's productionBundleID and RawHistoryArchive's directory name untouched — those intentionally reference the official upstream id to detect/migrate an existing official install, not this build's own identity. Update docs/IOS.md's "build from source" instructions to match. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XdgqpvTAkAZvwAepyU3zjK
DX23876
pushed a commit
to DX23876/noop
that referenced
this pull request
Jul 22, 2026
build(ios): Make the bundle id prefix configurable via a project-level xcconfig
Merged
simoncad7
pushed a commit
to simoncad7/noop
that referenced
this pull request
Aug 17, 2026
build(ios): Make the bundle id prefix configurable via a project-level xcconfig
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this PR does
Every target hardcoded identifiers under com.noopapp, so building under your own Apple ID meant hand-editing project.yml in six places to avoid colliding with an installed official/sideloaded copy.
This change introduces a BUNDLE_ID_PREFIX xcconfig variable that every target picks up automatically. Users can override this in a gitignored Config/BundleIdSecrets.xcconfig.
Update docs/IOS.md's "build from source" instructions to match.
Type of change
How it was tested
Built locally with + without the local config file.
Checklist
swift testinPackages/<name>)android/(./gradlew testFullDebugUnitTest)StrandDesigntokens — no hardcoded colors, fonts, or spacingdocs/CONTRIBUTING.mdStrand.xcodeproj/) or any secrets/keystoresRelated issues