Add Mac Catalyst app support - #210
Conversation
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.Scanned FilesNone |
There was a problem hiding this comment.
🟡 Changes recommended
Address the two README review comments before approval.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Adds Mac Catalyst support for Holmdel while excluding iOS-only companions and providing Catalyst-safe Live Activity behavior.
Changes:
- Enables Catalyst builds and filters widget/watch products.
- Adds Catalyst no-op Live Activity implementations.
- Updates documentation and changelog.
File summaries
| File | Summary |
|---|---|
README.md |
Documents Catalyst support. Nits: Correct the dependency/platform description (2 votes) and add the required DECISIONS.md entry (1 vote). |
Packages/LiveActivity/Sources/NowPlayingActivityKit/NowPlayingActivityCoordinator.swift |
Adds Catalyst no-op behavior. |
Packages/LiveActivity/Sources/NowPlayingActivityCore/NowPlayingActivityAttributes.swift |
Excludes ActivityKit types on Catalyst. |
HolmdelApp/Holmdel.xcodeproj/project.pbxproj |
Enables Catalyst and filters iOS-only embedded targets. |
CHANGELOG.md |
Adds the Mac support entry. |
Review details
Suppressed comments (1)
README.md:4
- This adds a new platform and changes the shared dependency/availability architecture, but
CONTRIBUTING.md:90-91requires significant decisions to be recorded inDECISIONS.mdwith their rationale. Please add a dated entry covering the Catalyst no-op and the iOS-only widget/watch packaging filters so this design is not lost or accidentally reverted.
Holmdel is a SwiftUI internet-radio client for iOS and iPadOS 26+, with a Mac Catalyst build and
companion apps for watchOS and tvOS, built on **ShoutKit** — this repo's MIT-licensed radio SDK
- Files reviewed: 5/5 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| iOS and Mac Catalyst only, linked by the app target alone: AudioStreaming pulls the ogg/vorbis xcframeworks, | ||
| which have no watchOS slice, and SwiftPM fetches binary artifacts regardless of platform | ||
| conditions. The watch app supplies its own `AVPlayer`-backed engine. |
|
@copilot Fix the code for all comments in this review thread. When a review comment includes a suggested change, apply the suggestion exactly. Do not make changes beyond what is described in the linked review thread. |
Co-authored-by: KevinTCoughlin <706967+KevinTCoughlin@users.noreply.github.com>
Addressed in |
Summary
Validation
xcodebuildDebug build forplatform=macOS,variant=Mac CatalystxcodebuildRelease build forplatform=macOS,variant=Mac Catalyst