Skip to content

Apple Silicon support: SPM migration, Sparkle 2.x, KeyboardShortcuts, universal binary CI - #2

Merged
xgitqa merged 9 commits into
masterfrom
claude/wizardly-feynman-LbX1M
Jun 2, 2026
Merged

Apple Silicon support: SPM migration, Sparkle 2.x, KeyboardShortcuts, universal binary CI#2
xgitqa merged 9 commits into
masterfrom
claude/wizardly-feynman-LbX1M

Conversation

@xgitqa

@xgitqa xgitqa commented Jun 2, 2026

Copy link
Copy Markdown
Owner

Summary

  • SPM migration: replaced Carthage with Swift Package Manager for all dependencies (KeyboardShortcuts 2.x, Defaults 4.x, LaunchAtLogin 4.x, Preferences 2.x, Sparkle 2.x)
  • Apple Silicon universal binary: ARCHS="arm64 x86_64" in Release xcconfig; CI archives and verifies both slices with lipo
  • Sparkle 1.x → 2.x: replaced SUUpdater with SPUStandardUpdaterController; updated SignFrameworks.sh for flat framework layout
  • MASShortcut → KeyboardShortcuts: replaced ObjC MASShortcut (fails Xcode 15+) with pure-Swift KeyboardShortcuts 2.x
  • Deployment target: bumped to macOS 12.0 (required by KeyboardShortcuts 2.2.0)
  • CI: macos-15 runner (Xcode 16.4), SPM cache, artifact upload; tagged releases via release.yml
  • appcast.xml + README: updated for fork

Test plan

  • CI passes (archive succeeds, lipo confirms arm64 + x86_64)
  • Download artifact and run on Apple Silicon Mac
  • Keyboard shortcut recorder in Preferences → General works
  • Sparkle update check works

Generated by Claude Code

xgitqa and others added 9 commits June 2, 2026 14:29
…ate README and appcast

- Replace unmaintained MASShortcut (fails Xcode 15) with sindresorhus/KeyboardShortcuts 2.x
- Bump deployment target to macOS 12.0 (required by KeyboardShortcuts 2.x; arm64 Macs all support 12+)
- Remove MASShortcutView from General.xib and bridging header; add RecorderCocoa programmatically
- Add xcodebuild archive + zip artifact upload to build.yml for every push
- Add release.yml workflow: builds universal binary on v* tags and publishes GitHub Release
- Fix appcast.xml to point to xgitqa/Dozer releases instead of upstream
- Update README: Apple Silicon fork context, install instructions, signing note
KeyboardShortcuts 2.x and modern sindresorhus libs are SPM-only; Carthage
is no longer viable. Switch all dependencies to SPM in project.yml, remove
Carthage from Brewfile and Makefile, remove Carthage steps from workflows.
SPM packages resolve automatically during xcodebuild.
@xgitqa
xgitqa merged commit f449c5c into master Jun 2, 2026
2 checks passed
xgitqa added a commit that referenced this pull request Jun 4, 2026
Apple Silicon support: SPM migration, Sparkle 2.x, KeyboardShortcuts, universal binary CI
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