Summary
This issue tracks a known Swift Package Manager limitation where Bundle.module accessor doesn't work correctly for macOS app bundles built via CLI.
Upstream Issue
Problem
SPM generates Bundle.module accessor that:
- Checks app root (
Bundle.main.bundleURL) - ❌ macOS apps use Contents/Resources/
- Checks hardcoded build path - ❌ Doesn't exist on user's machine
Current Workaround
We patch KeyboardShortcuts source in .build/checkouts/ during build:
- Add
modulePatched that checks Bundle.main.resourceURL first
- Replace
.localized → .localizedPatched
See: scripts/build-app.sh
Related
Resolution
This can be closed when:
- SPM fixes the upstream issue, OR
- We migrate to Xcode build (which handles this correctly)
Summary
This issue tracks a known Swift Package Manager limitation where
Bundle.moduleaccessor doesn't work correctly for macOS app bundles built via CLI.Upstream Issue
Problem
SPM generates
Bundle.moduleaccessor that:Bundle.main.bundleURL) - ❌ macOS apps useContents/Resources/Current Workaround
We patch KeyboardShortcuts source in
.build/checkouts/during build:modulePatchedthat checksBundle.main.resourceURLfirst.localized→.localizedPatchedSee:
scripts/build-app.shRelated
Resolution
This can be closed when: