Skip to content

Add universal binary support and upgrade to Sparkle 2.x - #1

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

Add universal binary support and upgrade to Sparkle 2.x#1
xgitqa merged 2 commits into
masterfrom
claude/wizardly-feynman-LbX1M

Conversation

@xgitqa

@xgitqa xgitqa commented Jun 2, 2026

Copy link
Copy Markdown
Owner

Summary

This PR modernizes the Dozer build system to support universal binaries (arm64 + x86_64) on Apple Silicon Macs and upgrades to Sparkle 2.x for improved update handling.

Key Changes

  • Universal Binary Support: Added architecture configuration to build universal binaries for both arm64 and x86_64, with CI verification
  • Sparkle 2.x Upgrade: Migrated from Sparkle 1.26 to 2.6.4, updating the updater initialization and API usage
    • Replaced SUUpdater.shared() with SPUStandardUpdaterController in AppDelegate
    • Updated GeneralVC and DozerVC to use the new Sparkle 2.x API
    • Modified code signing script to handle new Sparkle 2.x directory structure (XPCServices, Updater.app)
  • Build System Improvements:
    • Updated Xcode version requirement from 10.2.1 to 15.0
    • Added GitHub Actions CI workflow for automated builds on macOS 14
    • Enhanced SwiftGen path detection to support both Homebrew ARM and Intel installations
    • Updated Carthage bootstrap to use xcframeworks for better Apple Silicon support
  • Dependency Updates: Pinned Carthage dependencies to specific versions for reproducible builds
  • Code Quality: Improved code formatting and removed duplicate configuration entries

Implementation Details

  • The SPUStandardUpdaterController is retained as a property in AppDelegate to maintain the required lifetime for Sparkle 2.x
  • The CI workflow builds and verifies universal binaries, confirming both architecture slices are present
  • SwiftGen path detection now checks /opt/homebrew/bin first (Apple Silicon native) before falling back to /usr/local/bin

https://claude.ai/code/session_01Q2P1R8MUG4huWY8QzH5o9m

xgitqa added 2 commits June 2, 2026 14:15
…orkflow

- Use --use-xcframeworks for Carthage to produce universal xcframeworks
- Add ARCHS=arm64 x86_64 and ONLY_ACTIVE_ARCH=NO to build settings
- Upgrade Sparkle 1.x → 2.x and migrate API (SUUpdater → SPUStandardUpdaterController)
- Fix hardcoded /usr/local/bin/swiftgen path for Apple Silicon Homebrew prefix
- Update SignFrameworks.sh for Sparkle 2.x framework structure
- Add GitHub Actions CI workflow on macos-14 (Apple Silicon M1 runner)
@xgitqa
xgitqa merged commit d6bcb4b into master Jun 2, 2026
0 of 2 checks passed
xgitqa added a commit that referenced this pull request Jun 4, 2026
Add universal binary support and upgrade to Sparkle 2.x
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