Repository navigation
Give Debug builds their own bundle identifier - #1927
Open
AkiyamaKunka wants to merge 1 commit into
Open
AkiyamaKunka wants to merge 1 commit into
AkiyamaKunka wants to merge 1 commit into
Conversation
A build from Xcode and the installed Developer ID release both used com.knollsoft.Rectangle, so they shared one Accessibility grant and one preferences domain: whichever copy macOS had trusted first kept the grant, and the other showed the row enabled while still asking for permission. The Debug configuration now uses com.knollsoft.Rectangle.debug. Release (and therefore archives, CI and Sparkle updates) is unchanged. - ApplicationToggle.frontAppId starts from Bundle.main.bundleIdentifier instead of the release id literal. - The exported config keeps the canonical com.knollsoft.Rectangle. - Remove AppDelegate.launcherAppId, unused since the launcher was dropped. - README: note the Debug identifier for defaults/tccutil. - Tests pin both identifiers. Because the test target is hosted in the Debug app, the suite's UserDefaults writes now go to the .debug domain instead of the installed app's preferences. Fixes rxhanson#1920. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Closes #1920.
com.knollsoft.Rectangle.debug, so a build from Xcode gets its own Accessibility grant and preferences instead of fighting the installed app over one. Release is unchanged, so the CI archive and Sparkle updates keepcom.knollsoft.Rectangle.ApplicationToggle.frontAppIdstarts fromBundle.main.bundleIdentifierinstead of the release id literal.com.knollsoft.Rectangle, so a config exported from a Debug build imports into the release. A test pins this, and another pins the Debug id so a pbxproj merge can't silently revert it.AppDelegate.launcherAppId..debugidentifier fordefaultsandtccutil, and to quit the installed copy while running a Debug build, since both would respond to the same shortcuts and drags.Side benefit: the test target is hosted in the Debug app, so until now the suite's
UserDefaultswrites landed in the installed Rectangle's preferences. Locally, the full suite (604 tests) passes,~/Library/Preferences/com.knollsoft.Rectangle.plistcame out byte-for-byte unchanged, and the installed Rectangle kept its grant and snapped normally afterwards.As discussed, both builds register
rectangle://. There's also an empty "Copy Files → Contents/Library/LoginItems" build phase left over from the launcher; I left it alone to keep the project diff to one line, but can remove it here if you'd like.