The Swift Package Index logo.Swift Package Index

Build Information

Failed to build MediaBridge, reference main (b02b22), with Swift 6.2 for macOS (SPM) on 12 Oct 2026 10:52:26 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-26.3.0.app xcrun swift build --arch arm64

Build Log

13 |         _ name: String,
14 |         _ operand: some Sendable,
15 |         pushdown: (value: any Sendable, comparison: MPMediaPredicateComparison)?,
   |                                                     `- error: 'MPMediaPredicateComparison' is unavailable in macOS
16 |         test: @escaping @Sendable (Value) -> Bool
17 |     ) {
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:82:28: note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 80 | // See MPMediaItem.h and MPMediaPlaylist.h for a list of properties.
 81 |
 82 | typedef NS_ENUM(NSInteger, MPMediaPredicateComparison) {
    |                            `- note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 83 |     MPMediaPredicateComparisonEqualTo,
 84 |     MPMediaPredicateComparisonContains
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryElement.swift:33:29: error: 'MPMediaItemCollection' is unavailable in macOS
31 | /// A model that wraps one `MPMediaItemCollection`, such as ``Album`` or ``Artist``.
32 | public protocol CollectionElement: LibraryElement {
33 |     init(_ mediaCollection: MPMediaItemCollection)
   |                             `- error: 'MPMediaItemCollection' is unavailable in macOS
34 | }
35 |
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItemCollection.h:19:12: note: 'MPMediaItemCollection' has been explicitly marked unavailable here
17 | MP_API(ios(3.0))
18 | API_UNAVAILABLE(tvos, watchos, macos)
19 | @interface MPMediaItemCollection : MPMediaEntity
   |            `- note: 'MPMediaItemCollection' has been explicitly marked unavailable here
20 |
21 | // Creates a media item collection by copying an array of MPMediaItems.
[43/51] Compiling MediaBridge WritableMediaLibrary.swift
/Users/admin/builder/spi-builder-workspace/Sources/Playlists/PlaylistMetadata.swift:17:27: error: 'MPMediaPlaylistCreationMetadata' is unavailable in macOS
15 |     }
16 |
17 |     var creationMetadata: MPMediaPlaylistCreationMetadata {
   |                           `- error: 'MPMediaPlaylistCreationMetadata' is unavailable in macOS
18 |         let metadata = MPMediaPlaylistCreationMetadata(name: name)
19 |         if let descriptionText {
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaPlaylist.h:68:12: note: 'MPMediaPlaylistCreationMetadata' has been explicitly marked unavailable here
66 | MP_API(ios(9.3))
67 | API_UNAVAILABLE(tvos, watchos, macos)
68 | @interface MPMediaPlaylistCreationMetadata : NSObject
   |            `- note: 'MPMediaPlaylistCreationMetadata' has been explicitly marked unavailable here
69 |
70 | MP_INIT_UNAVAILABLE
/Users/admin/builder/spi-builder-workspace/Sources/Playlists/PlaylistMetadata.swift:18:24: error: 'MPMediaPlaylistCreationMetadata' is unavailable in macOS
16 |
17 |     var creationMetadata: MPMediaPlaylistCreationMetadata {
18 |         let metadata = MPMediaPlaylistCreationMetadata(name: name)
   |                        `- error: 'MPMediaPlaylistCreationMetadata' is unavailable in macOS
19 |         if let descriptionText {
20 |             metadata.descriptionText = descriptionText
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaPlaylist.h:68:12: note: 'MPMediaPlaylistCreationMetadata' has been explicitly marked unavailable here
66 | MP_API(ios(9.3))
67 | API_UNAVAILABLE(tvos, watchos, macos)
68 | @interface MPMediaPlaylistCreationMetadata : NSObject
   |            `- note: 'MPMediaPlaylistCreationMetadata' has been explicitly marked unavailable here
69 |
70 | MP_INIT_UNAVAILABLE
/Users/admin/builder/spi-builder-workspace/Sources/Playlists/WritableMediaLibrary.swift:6:27: error: 'MPMediaPlaylistCreationMetadata' is unavailable in macOS
 4 |     func getPlaylist(
 5 |         with uuid: UUID,
 6 |         creationMetadata: MPMediaPlaylistCreationMetadata?,
   |                           `- error: 'MPMediaPlaylistCreationMetadata' is unavailable in macOS
 7 |         completionHandler: @escaping @Sendable (MPMediaPlaylist?, Error?) -> Void
 8 |     )
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaPlaylist.h:68:12: note: 'MPMediaPlaylistCreationMetadata' has been explicitly marked unavailable here
66 | MP_API(ios(9.3))
67 | API_UNAVAILABLE(tvos, watchos, macos)
68 | @interface MPMediaPlaylistCreationMetadata : NSObject
   |            `- note: 'MPMediaPlaylistCreationMetadata' has been explicitly marked unavailable here
69 |
70 | MP_INIT_UNAVAILABLE
/Users/admin/builder/spi-builder-workspace/Sources/Playlists/WritableMediaLibrary.swift:7:49: error: 'MPMediaPlaylist' is unavailable in macOS
 5 |         with uuid: UUID,
 6 |         creationMetadata: MPMediaPlaylistCreationMetadata?,
 7 |         completionHandler: @escaping @Sendable (MPMediaPlaylist?, Error?) -> Void
   |                                                 `- error: 'MPMediaPlaylist' is unavailable in macOS
 8 |     )
 9 |
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaPlaylist.h:28:12: note: 'MPMediaPlaylist' has been explicitly marked unavailable here
26 | MP_API(ios(3.0))
27 | API_UNAVAILABLE(tvos, watchos, macos)
28 | @interface MPMediaPlaylist : MPMediaItemCollection
   |            `- note: 'MPMediaPlaylist' has been explicitly marked unavailable here
29 |
30 | #pragma mark - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Playlists/WritableMediaLibrary.swift:10:83: error: 'MPMediaEntity' is unavailable in macOS
 8 |     )
 9 |
10 |     func addItem(withProductID productID: String, completionHandler: (@Sendable ([MPMediaEntity], Error?) -> Void)?)
   |                                                                                   `- error: 'MPMediaEntity' is unavailable in macOS
11 | }
12 |
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaEntity.h:22:12: note: 'MPMediaEntity' has been explicitly marked unavailable here
20 | MP_API(ios(4.2), tvos(14.0))
21 | API_UNAVAILABLE(watchos, macos)
22 | @interface MPMediaEntity : NSObject <NSSecureCoding>
   |            `- note: 'MPMediaEntity' has been explicitly marked unavailable here
23 |
24 | // Returns YES for properties which can be used to construct MPMediaPropertyPredicates.
/Users/admin/builder/spi-builder-workspace/Sources/Playlists/WritableMediaLibrary.swift:13:11: error: 'MPMediaLibrary' is unavailable in macOS
11 | }
12 |
13 | extension MPMediaLibrary: WritableMediaLibrary {}
   |           `- error: 'MPMediaLibrary' is unavailable in macOS
14 |
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaLibrary.h:35:12: note: 'MPMediaLibrary' has been explicitly marked unavailable here
33 | MP_API(ios(3.0))
34 | API_UNAVAILABLE(tvos, watchos, macos)
35 | @interface MPMediaLibrary : NSObject <NSSecureCoding>
   |            `- note: 'MPMediaLibrary' has been explicitly marked unavailable here
36 |
37 | + (MPMediaLibrary *)defaultMediaLibrary;
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryCondition.swift:8:53: error: 'MPMediaPredicateComparison' is unavailable in macOS
 6 | /// other condition, and every condition on a property MediaPlayer can't filter, runs in memory.
 7 | public struct LibraryCondition<Value: Sendable>: Sendable {
 8 |     let pushdown: (value: any Sendable, comparison: MPMediaPredicateComparison)?
   |                                                     `- error: 'MPMediaPredicateComparison' is unavailable in macOS
 9 |     let identity: String
10 |     let test: @Sendable (Value) -> Bool
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:82:28: note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 80 | // See MPMediaItem.h and MPMediaPlaylist.h for a list of properties.
 81 |
 82 | typedef NS_ENUM(NSInteger, MPMediaPredicateComparison) {
    |                            `- note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 83 |     MPMediaPredicateComparisonEqualTo,
 84 |     MPMediaPredicateComparisonContains
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryCondition.swift:15:53: error: 'MPMediaPredicateComparison' is unavailable in macOS
13 |         _ name: String,
14 |         _ operand: some Sendable,
15 |         pushdown: (value: any Sendable, comparison: MPMediaPredicateComparison)?,
   |                                                     `- error: 'MPMediaPredicateComparison' is unavailable in macOS
16 |         test: @escaping @Sendable (Value) -> Bool
17 |     ) {
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:82:28: note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 80 | // See MPMediaItem.h and MPMediaPlaylist.h for a list of properties.
 81 |
 82 | typedef NS_ENUM(NSInteger, MPMediaPredicateComparison) {
    |                            `- note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 83 |     MPMediaPredicateComparisonEqualTo,
 84 |     MPMediaPredicateComparisonContains
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryElement.swift:33:29: error: 'MPMediaItemCollection' is unavailable in macOS
31 | /// A model that wraps one `MPMediaItemCollection`, such as ``Album`` or ``Artist``.
32 | public protocol CollectionElement: LibraryElement {
33 |     init(_ mediaCollection: MPMediaItemCollection)
   |                             `- error: 'MPMediaItemCollection' is unavailable in macOS
34 | }
35 |
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItemCollection.h:19:12: note: 'MPMediaItemCollection' has been explicitly marked unavailable here
17 | MP_API(ios(3.0))
18 | API_UNAVAILABLE(tvos, watchos, macos)
19 | @interface MPMediaItemCollection : MPMediaEntity
   |            `- note: 'MPMediaItemCollection' has been explicitly marked unavailable here
20 |
21 | // Creates a media item collection by copying an array of MPMediaItems.
[44/51] Compiling MediaBridge LibraryCondition.swift
/Users/admin/builder/spi-builder-workspace/Sources/Playlists/PlaylistMetadata.swift:17:27: error: 'MPMediaPlaylistCreationMetadata' is unavailable in macOS
15 |     }
16 |
17 |     var creationMetadata: MPMediaPlaylistCreationMetadata {
   |                           `- error: 'MPMediaPlaylistCreationMetadata' is unavailable in macOS
18 |         let metadata = MPMediaPlaylistCreationMetadata(name: name)
19 |         if let descriptionText {
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaPlaylist.h:68:12: note: 'MPMediaPlaylistCreationMetadata' has been explicitly marked unavailable here
66 | MP_API(ios(9.3))
67 | API_UNAVAILABLE(tvos, watchos, macos)
68 | @interface MPMediaPlaylistCreationMetadata : NSObject
   |            `- note: 'MPMediaPlaylistCreationMetadata' has been explicitly marked unavailable here
69 |
70 | MP_INIT_UNAVAILABLE
/Users/admin/builder/spi-builder-workspace/Sources/Playlists/PlaylistMetadata.swift:18:24: error: 'MPMediaPlaylistCreationMetadata' is unavailable in macOS
16 |
17 |     var creationMetadata: MPMediaPlaylistCreationMetadata {
18 |         let metadata = MPMediaPlaylistCreationMetadata(name: name)
   |                        `- error: 'MPMediaPlaylistCreationMetadata' is unavailable in macOS
19 |         if let descriptionText {
20 |             metadata.descriptionText = descriptionText
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaPlaylist.h:68:12: note: 'MPMediaPlaylistCreationMetadata' has been explicitly marked unavailable here
66 | MP_API(ios(9.3))
67 | API_UNAVAILABLE(tvos, watchos, macos)
68 | @interface MPMediaPlaylistCreationMetadata : NSObject
   |            `- note: 'MPMediaPlaylistCreationMetadata' has been explicitly marked unavailable here
69 |
70 | MP_INIT_UNAVAILABLE
/Users/admin/builder/spi-builder-workspace/Sources/Playlists/WritableMediaLibrary.swift:6:27: error: 'MPMediaPlaylistCreationMetadata' is unavailable in macOS
 4 |     func getPlaylist(
 5 |         with uuid: UUID,
 6 |         creationMetadata: MPMediaPlaylistCreationMetadata?,
   |                           `- error: 'MPMediaPlaylistCreationMetadata' is unavailable in macOS
 7 |         completionHandler: @escaping @Sendable (MPMediaPlaylist?, Error?) -> Void
 8 |     )
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaPlaylist.h:68:12: note: 'MPMediaPlaylistCreationMetadata' has been explicitly marked unavailable here
66 | MP_API(ios(9.3))
67 | API_UNAVAILABLE(tvos, watchos, macos)
68 | @interface MPMediaPlaylistCreationMetadata : NSObject
   |            `- note: 'MPMediaPlaylistCreationMetadata' has been explicitly marked unavailable here
69 |
70 | MP_INIT_UNAVAILABLE
/Users/admin/builder/spi-builder-workspace/Sources/Playlists/WritableMediaLibrary.swift:7:49: error: 'MPMediaPlaylist' is unavailable in macOS
 5 |         with uuid: UUID,
 6 |         creationMetadata: MPMediaPlaylistCreationMetadata?,
 7 |         completionHandler: @escaping @Sendable (MPMediaPlaylist?, Error?) -> Void
   |                                                 `- error: 'MPMediaPlaylist' is unavailable in macOS
 8 |     )
 9 |
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaPlaylist.h:28:12: note: 'MPMediaPlaylist' has been explicitly marked unavailable here
26 | MP_API(ios(3.0))
27 | API_UNAVAILABLE(tvos, watchos, macos)
28 | @interface MPMediaPlaylist : MPMediaItemCollection
   |            `- note: 'MPMediaPlaylist' has been explicitly marked unavailable here
29 |
30 | #pragma mark - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Playlists/WritableMediaLibrary.swift:10:83: error: 'MPMediaEntity' is unavailable in macOS
 8 |     )
 9 |
10 |     func addItem(withProductID productID: String, completionHandler: (@Sendable ([MPMediaEntity], Error?) -> Void)?)
   |                                                                                   `- error: 'MPMediaEntity' is unavailable in macOS
11 | }
12 |
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaEntity.h:22:12: note: 'MPMediaEntity' has been explicitly marked unavailable here
20 | MP_API(ios(4.2), tvos(14.0))
21 | API_UNAVAILABLE(watchos, macos)
22 | @interface MPMediaEntity : NSObject <NSSecureCoding>
   |            `- note: 'MPMediaEntity' has been explicitly marked unavailable here
23 |
24 | // Returns YES for properties which can be used to construct MPMediaPropertyPredicates.
/Users/admin/builder/spi-builder-workspace/Sources/Playlists/WritableMediaLibrary.swift:13:11: error: 'MPMediaLibrary' is unavailable in macOS
11 | }
12 |
13 | extension MPMediaLibrary: WritableMediaLibrary {}
   |           `- error: 'MPMediaLibrary' is unavailable in macOS
14 |
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaLibrary.h:35:12: note: 'MPMediaLibrary' has been explicitly marked unavailable here
33 | MP_API(ios(3.0))
34 | API_UNAVAILABLE(tvos, watchos, macos)
35 | @interface MPMediaLibrary : NSObject <NSSecureCoding>
   |            `- note: 'MPMediaLibrary' has been explicitly marked unavailable here
36 |
37 | + (MPMediaLibrary *)defaultMediaLibrary;
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryCondition.swift:8:53: error: 'MPMediaPredicateComparison' is unavailable in macOS
 6 | /// other condition, and every condition on a property MediaPlayer can't filter, runs in memory.
 7 | public struct LibraryCondition<Value: Sendable>: Sendable {
 8 |     let pushdown: (value: any Sendable, comparison: MPMediaPredicateComparison)?
   |                                                     `- error: 'MPMediaPredicateComparison' is unavailable in macOS
 9 |     let identity: String
10 |     let test: @Sendable (Value) -> Bool
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:82:28: note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 80 | // See MPMediaItem.h and MPMediaPlaylist.h for a list of properties.
 81 |
 82 | typedef NS_ENUM(NSInteger, MPMediaPredicateComparison) {
    |                            `- note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 83 |     MPMediaPredicateComparisonEqualTo,
 84 |     MPMediaPredicateComparisonContains
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryCondition.swift:15:53: error: 'MPMediaPredicateComparison' is unavailable in macOS
13 |         _ name: String,
14 |         _ operand: some Sendable,
15 |         pushdown: (value: any Sendable, comparison: MPMediaPredicateComparison)?,
   |                                                     `- error: 'MPMediaPredicateComparison' is unavailable in macOS
16 |         test: @escaping @Sendable (Value) -> Bool
17 |     ) {
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:82:28: note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 80 | // See MPMediaItem.h and MPMediaPlaylist.h for a list of properties.
 81 |
 82 | typedef NS_ENUM(NSInteger, MPMediaPredicateComparison) {
    |                            `- note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 83 |     MPMediaPredicateComparisonEqualTo,
 84 |     MPMediaPredicateComparisonContains
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryElement.swift:33:29: error: 'MPMediaItemCollection' is unavailable in macOS
31 | /// A model that wraps one `MPMediaItemCollection`, such as ``Album`` or ``Artist``.
32 | public protocol CollectionElement: LibraryElement {
33 |     init(_ mediaCollection: MPMediaItemCollection)
   |                             `- error: 'MPMediaItemCollection' is unavailable in macOS
34 | }
35 |
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItemCollection.h:19:12: note: 'MPMediaItemCollection' has been explicitly marked unavailable here
17 | MP_API(ios(3.0))
18 | API_UNAVAILABLE(tvos, watchos, macos)
19 | @interface MPMediaItemCollection : MPMediaEntity
   |            `- note: 'MPMediaItemCollection' has been explicitly marked unavailable here
20 |
21 | // Creates a media item collection by copying an array of MPMediaItems.
[45/51] Compiling MediaBridge LibraryElement.swift
/Users/admin/builder/spi-builder-workspace/Sources/Playlists/PlaylistMetadata.swift:17:27: error: 'MPMediaPlaylistCreationMetadata' is unavailable in macOS
15 |     }
16 |
17 |     var creationMetadata: MPMediaPlaylistCreationMetadata {
   |                           `- error: 'MPMediaPlaylistCreationMetadata' is unavailable in macOS
18 |         let metadata = MPMediaPlaylistCreationMetadata(name: name)
19 |         if let descriptionText {
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaPlaylist.h:68:12: note: 'MPMediaPlaylistCreationMetadata' has been explicitly marked unavailable here
66 | MP_API(ios(9.3))
67 | API_UNAVAILABLE(tvos, watchos, macos)
68 | @interface MPMediaPlaylistCreationMetadata : NSObject
   |            `- note: 'MPMediaPlaylistCreationMetadata' has been explicitly marked unavailable here
69 |
70 | MP_INIT_UNAVAILABLE
/Users/admin/builder/spi-builder-workspace/Sources/Playlists/PlaylistMetadata.swift:18:24: error: 'MPMediaPlaylistCreationMetadata' is unavailable in macOS
16 |
17 |     var creationMetadata: MPMediaPlaylistCreationMetadata {
18 |         let metadata = MPMediaPlaylistCreationMetadata(name: name)
   |                        `- error: 'MPMediaPlaylistCreationMetadata' is unavailable in macOS
19 |         if let descriptionText {
20 |             metadata.descriptionText = descriptionText
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaPlaylist.h:68:12: note: 'MPMediaPlaylistCreationMetadata' has been explicitly marked unavailable here
66 | MP_API(ios(9.3))
67 | API_UNAVAILABLE(tvos, watchos, macos)
68 | @interface MPMediaPlaylistCreationMetadata : NSObject
   |            `- note: 'MPMediaPlaylistCreationMetadata' has been explicitly marked unavailable here
69 |
70 | MP_INIT_UNAVAILABLE
/Users/admin/builder/spi-builder-workspace/Sources/Playlists/WritableMediaLibrary.swift:6:27: error: 'MPMediaPlaylistCreationMetadata' is unavailable in macOS
 4 |     func getPlaylist(
 5 |         with uuid: UUID,
 6 |         creationMetadata: MPMediaPlaylistCreationMetadata?,
   |                           `- error: 'MPMediaPlaylistCreationMetadata' is unavailable in macOS
 7 |         completionHandler: @escaping @Sendable (MPMediaPlaylist?, Error?) -> Void
 8 |     )
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaPlaylist.h:68:12: note: 'MPMediaPlaylistCreationMetadata' has been explicitly marked unavailable here
66 | MP_API(ios(9.3))
67 | API_UNAVAILABLE(tvos, watchos, macos)
68 | @interface MPMediaPlaylistCreationMetadata : NSObject
   |            `- note: 'MPMediaPlaylistCreationMetadata' has been explicitly marked unavailable here
69 |
70 | MP_INIT_UNAVAILABLE
/Users/admin/builder/spi-builder-workspace/Sources/Playlists/WritableMediaLibrary.swift:7:49: error: 'MPMediaPlaylist' is unavailable in macOS
 5 |         with uuid: UUID,
 6 |         creationMetadata: MPMediaPlaylistCreationMetadata?,
 7 |         completionHandler: @escaping @Sendable (MPMediaPlaylist?, Error?) -> Void
   |                                                 `- error: 'MPMediaPlaylist' is unavailable in macOS
 8 |     )
 9 |
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaPlaylist.h:28:12: note: 'MPMediaPlaylist' has been explicitly marked unavailable here
26 | MP_API(ios(3.0))
27 | API_UNAVAILABLE(tvos, watchos, macos)
28 | @interface MPMediaPlaylist : MPMediaItemCollection
   |            `- note: 'MPMediaPlaylist' has been explicitly marked unavailable here
29 |
30 | #pragma mark - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Playlists/WritableMediaLibrary.swift:10:83: error: 'MPMediaEntity' is unavailable in macOS
 8 |     )
 9 |
10 |     func addItem(withProductID productID: String, completionHandler: (@Sendable ([MPMediaEntity], Error?) -> Void)?)
   |                                                                                   `- error: 'MPMediaEntity' is unavailable in macOS
11 | }
12 |
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaEntity.h:22:12: note: 'MPMediaEntity' has been explicitly marked unavailable here
20 | MP_API(ios(4.2), tvos(14.0))
21 | API_UNAVAILABLE(watchos, macos)
22 | @interface MPMediaEntity : NSObject <NSSecureCoding>
   |            `- note: 'MPMediaEntity' has been explicitly marked unavailable here
23 |
24 | // Returns YES for properties which can be used to construct MPMediaPropertyPredicates.
/Users/admin/builder/spi-builder-workspace/Sources/Playlists/WritableMediaLibrary.swift:13:11: error: 'MPMediaLibrary' is unavailable in macOS
11 | }
12 |
13 | extension MPMediaLibrary: WritableMediaLibrary {}
   |           `- error: 'MPMediaLibrary' is unavailable in macOS
14 |
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaLibrary.h:35:12: note: 'MPMediaLibrary' has been explicitly marked unavailable here
33 | MP_API(ios(3.0))
34 | API_UNAVAILABLE(tvos, watchos, macos)
35 | @interface MPMediaLibrary : NSObject <NSSecureCoding>
   |            `- note: 'MPMediaLibrary' has been explicitly marked unavailable here
36 |
37 | + (MPMediaLibrary *)defaultMediaLibrary;
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryCondition.swift:8:53: error: 'MPMediaPredicateComparison' is unavailable in macOS
 6 | /// other condition, and every condition on a property MediaPlayer can't filter, runs in memory.
 7 | public struct LibraryCondition<Value: Sendable>: Sendable {
 8 |     let pushdown: (value: any Sendable, comparison: MPMediaPredicateComparison)?
   |                                                     `- error: 'MPMediaPredicateComparison' is unavailable in macOS
 9 |     let identity: String
10 |     let test: @Sendable (Value) -> Bool
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:82:28: note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 80 | // See MPMediaItem.h and MPMediaPlaylist.h for a list of properties.
 81 |
 82 | typedef NS_ENUM(NSInteger, MPMediaPredicateComparison) {
    |                            `- note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 83 |     MPMediaPredicateComparisonEqualTo,
 84 |     MPMediaPredicateComparisonContains
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryCondition.swift:15:53: error: 'MPMediaPredicateComparison' is unavailable in macOS
13 |         _ name: String,
14 |         _ operand: some Sendable,
15 |         pushdown: (value: any Sendable, comparison: MPMediaPredicateComparison)?,
   |                                                     `- error: 'MPMediaPredicateComparison' is unavailable in macOS
16 |         test: @escaping @Sendable (Value) -> Bool
17 |     ) {
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:82:28: note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 80 | // See MPMediaItem.h and MPMediaPlaylist.h for a list of properties.
 81 |
 82 | typedef NS_ENUM(NSInteger, MPMediaPredicateComparison) {
    |                            `- note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 83 |     MPMediaPredicateComparisonEqualTo,
 84 |     MPMediaPredicateComparisonContains
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryElement.swift:33:29: error: 'MPMediaItemCollection' is unavailable in macOS
31 | /// A model that wraps one `MPMediaItemCollection`, such as ``Album`` or ``Artist``.
32 | public protocol CollectionElement: LibraryElement {
33 |     init(_ mediaCollection: MPMediaItemCollection)
   |                             `- error: 'MPMediaItemCollection' is unavailable in macOS
34 | }
35 |
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItemCollection.h:19:12: note: 'MPMediaItemCollection' has been explicitly marked unavailable here
17 | MP_API(ios(3.0))
18 | API_UNAVAILABLE(tvos, watchos, macos)
19 | @interface MPMediaItemCollection : MPMediaEntity
   |            `- note: 'MPMediaItemCollection' has been explicitly marked unavailable here
20 |
21 | // Creates a media item collection by copying an array of MPMediaItems.
[46/51] Compiling MediaBridge LibraryPredicate.swift
/Users/admin/builder/spi-builder-workspace/Sources/Playlists/PlaylistMetadata.swift:17:27: error: 'MPMediaPlaylistCreationMetadata' is unavailable in macOS
15 |     }
16 |
17 |     var creationMetadata: MPMediaPlaylistCreationMetadata {
   |                           `- error: 'MPMediaPlaylistCreationMetadata' is unavailable in macOS
18 |         let metadata = MPMediaPlaylistCreationMetadata(name: name)
19 |         if let descriptionText {
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaPlaylist.h:68:12: note: 'MPMediaPlaylistCreationMetadata' has been explicitly marked unavailable here
66 | MP_API(ios(9.3))
67 | API_UNAVAILABLE(tvos, watchos, macos)
68 | @interface MPMediaPlaylistCreationMetadata : NSObject
   |            `- note: 'MPMediaPlaylistCreationMetadata' has been explicitly marked unavailable here
69 |
70 | MP_INIT_UNAVAILABLE
/Users/admin/builder/spi-builder-workspace/Sources/Playlists/PlaylistMetadata.swift:18:24: error: 'MPMediaPlaylistCreationMetadata' is unavailable in macOS
16 |
17 |     var creationMetadata: MPMediaPlaylistCreationMetadata {
18 |         let metadata = MPMediaPlaylistCreationMetadata(name: name)
   |                        `- error: 'MPMediaPlaylistCreationMetadata' is unavailable in macOS
19 |         if let descriptionText {
20 |             metadata.descriptionText = descriptionText
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaPlaylist.h:68:12: note: 'MPMediaPlaylistCreationMetadata' has been explicitly marked unavailable here
66 | MP_API(ios(9.3))
67 | API_UNAVAILABLE(tvos, watchos, macos)
68 | @interface MPMediaPlaylistCreationMetadata : NSObject
   |            `- note: 'MPMediaPlaylistCreationMetadata' has been explicitly marked unavailable here
69 |
70 | MP_INIT_UNAVAILABLE
/Users/admin/builder/spi-builder-workspace/Sources/Playlists/WritableMediaLibrary.swift:6:27: error: 'MPMediaPlaylistCreationMetadata' is unavailable in macOS
 4 |     func getPlaylist(
 5 |         with uuid: UUID,
 6 |         creationMetadata: MPMediaPlaylistCreationMetadata?,
   |                           `- error: 'MPMediaPlaylistCreationMetadata' is unavailable in macOS
 7 |         completionHandler: @escaping @Sendable (MPMediaPlaylist?, Error?) -> Void
 8 |     )
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaPlaylist.h:68:12: note: 'MPMediaPlaylistCreationMetadata' has been explicitly marked unavailable here
66 | MP_API(ios(9.3))
67 | API_UNAVAILABLE(tvos, watchos, macos)
68 | @interface MPMediaPlaylistCreationMetadata : NSObject
   |            `- note: 'MPMediaPlaylistCreationMetadata' has been explicitly marked unavailable here
69 |
70 | MP_INIT_UNAVAILABLE
/Users/admin/builder/spi-builder-workspace/Sources/Playlists/WritableMediaLibrary.swift:7:49: error: 'MPMediaPlaylist' is unavailable in macOS
 5 |         with uuid: UUID,
 6 |         creationMetadata: MPMediaPlaylistCreationMetadata?,
 7 |         completionHandler: @escaping @Sendable (MPMediaPlaylist?, Error?) -> Void
   |                                                 `- error: 'MPMediaPlaylist' is unavailable in macOS
 8 |     )
 9 |
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaPlaylist.h:28:12: note: 'MPMediaPlaylist' has been explicitly marked unavailable here
26 | MP_API(ios(3.0))
27 | API_UNAVAILABLE(tvos, watchos, macos)
28 | @interface MPMediaPlaylist : MPMediaItemCollection
   |            `- note: 'MPMediaPlaylist' has been explicitly marked unavailable here
29 |
30 | #pragma mark - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Playlists/WritableMediaLibrary.swift:10:83: error: 'MPMediaEntity' is unavailable in macOS
 8 |     )
 9 |
10 |     func addItem(withProductID productID: String, completionHandler: (@Sendable ([MPMediaEntity], Error?) -> Void)?)
   |                                                                                   `- error: 'MPMediaEntity' is unavailable in macOS
11 | }
12 |
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaEntity.h:22:12: note: 'MPMediaEntity' has been explicitly marked unavailable here
20 | MP_API(ios(4.2), tvos(14.0))
21 | API_UNAVAILABLE(watchos, macos)
22 | @interface MPMediaEntity : NSObject <NSSecureCoding>
   |            `- note: 'MPMediaEntity' has been explicitly marked unavailable here
23 |
24 | // Returns YES for properties which can be used to construct MPMediaPropertyPredicates.
/Users/admin/builder/spi-builder-workspace/Sources/Playlists/WritableMediaLibrary.swift:13:11: error: 'MPMediaLibrary' is unavailable in macOS
11 | }
12 |
13 | extension MPMediaLibrary: WritableMediaLibrary {}
   |           `- error: 'MPMediaLibrary' is unavailable in macOS
14 |
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaLibrary.h:35:12: note: 'MPMediaLibrary' has been explicitly marked unavailable here
33 | MP_API(ios(3.0))
34 | API_UNAVAILABLE(tvos, watchos, macos)
35 | @interface MPMediaLibrary : NSObject <NSSecureCoding>
   |            `- note: 'MPMediaLibrary' has been explicitly marked unavailable here
36 |
37 | + (MPMediaLibrary *)defaultMediaLibrary;
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryCondition.swift:8:53: error: 'MPMediaPredicateComparison' is unavailable in macOS
 6 | /// other condition, and every condition on a property MediaPlayer can't filter, runs in memory.
 7 | public struct LibraryCondition<Value: Sendable>: Sendable {
 8 |     let pushdown: (value: any Sendable, comparison: MPMediaPredicateComparison)?
   |                                                     `- error: 'MPMediaPredicateComparison' is unavailable in macOS
 9 |     let identity: String
10 |     let test: @Sendable (Value) -> Bool
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:82:28: note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 80 | // See MPMediaItem.h and MPMediaPlaylist.h for a list of properties.
 81 |
 82 | typedef NS_ENUM(NSInteger, MPMediaPredicateComparison) {
    |                            `- note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 83 |     MPMediaPredicateComparisonEqualTo,
 84 |     MPMediaPredicateComparisonContains
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryCondition.swift:15:53: error: 'MPMediaPredicateComparison' is unavailable in macOS
13 |         _ name: String,
14 |         _ operand: some Sendable,
15 |         pushdown: (value: any Sendable, comparison: MPMediaPredicateComparison)?,
   |                                                     `- error: 'MPMediaPredicateComparison' is unavailable in macOS
16 |         test: @escaping @Sendable (Value) -> Bool
17 |     ) {
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:82:28: note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 80 | // See MPMediaItem.h and MPMediaPlaylist.h for a list of properties.
 81 |
 82 | typedef NS_ENUM(NSInteger, MPMediaPredicateComparison) {
    |                            `- note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 83 |     MPMediaPredicateComparisonEqualTo,
 84 |     MPMediaPredicateComparisonContains
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryElement.swift:33:29: error: 'MPMediaItemCollection' is unavailable in macOS
31 | /// A model that wraps one `MPMediaItemCollection`, such as ``Album`` or ``Artist``.
32 | public protocol CollectionElement: LibraryElement {
33 |     init(_ mediaCollection: MPMediaItemCollection)
   |                             `- error: 'MPMediaItemCollection' is unavailable in macOS
34 | }
35 |
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItemCollection.h:19:12: note: 'MPMediaItemCollection' has been explicitly marked unavailable here
17 | MP_API(ios(3.0))
18 | API_UNAVAILABLE(tvos, watchos, macos)
19 | @interface MPMediaItemCollection : MPMediaEntity
   |            `- note: 'MPMediaItemCollection' has been explicitly marked unavailable here
20 |
21 | // Creates a media item collection by copying an array of MPMediaItems.
[47/51] Compiling MediaBridge LibraryQuery+EntryPoints.swift
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryQuery.swift:64:111: error: 'SortOrder' is only available in macOS 12.0 or newer
 19 | /// Filters MediaPlayer supports run inside its query; the rest run in memory. Sorting reads each
 20 | /// sort key once per element, so it stays linear in property reads on large libraries.
 21 | public struct LibraryQuery<Element: LibraryElement>: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing generic struct
 22 |     struct Clause {
 23 |         let filter: MediaQueryRequest.Filter?
    :
 62 |
 63 |     /// Orders results by `keyPath`, replacing any previous ordering.
 64 |     public func sorted<Value: Comparable & Sendable>(by keyPath: KeyPath<Element, Value> & Sendable, _ order: SortOrder = .forward) -> Self {
    |                 |                                                                                             `- error: 'SortOrder' is only available in macOS 12.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
 65 |         var copy = self
 66 |         copy.orderings = [Self.ordering(keyPath, { $0[keyPath: keyPath] }, order)]
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryQuery.swift:71:109: error: 'SortOrder' is only available in macOS 12.0 or newer
 19 | /// Filters MediaPlayer supports run inside its query; the rest run in memory. Sorting reads each
 20 | /// sort key once per element, so it stays linear in property reads on large libraries.
 21 | public struct LibraryQuery<Element: LibraryElement>: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing generic struct
 22 |     struct Clause {
 23 |         let filter: MediaQueryRequest.Filter?
    :
 69 |
 70 |     /// Breaks ties in the current ordering by `keyPath`.
 71 |     public func then<Value: Comparable & Sendable>(by keyPath: KeyPath<Element, Value> & Sendable, _ order: SortOrder = .forward) -> Self {
    |                 |                                                                                           `- error: 'SortOrder' is only available in macOS 12.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
 72 |         var copy = self
 73 |         copy.orderings.append(Self.ordering(keyPath, { $0[keyPath: keyPath] }, order))
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryQuery.swift:79:112: error: 'SortOrder' is only available in macOS 12.0 or newer
 19 | /// Filters MediaPlayer supports run inside its query; the rest run in memory. Sorting reads each
 20 | /// sort key once per element, so it stays linear in property reads on large libraries.
 21 | public struct LibraryQuery<Element: LibraryElement>: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing generic struct
 22 |     struct Clause {
 23 |         let filter: MediaQueryRequest.Filter?
    :
 77 |     /// Orders results by an optional `keyPath`, replacing any previous ordering. Missing values
 78 |     /// sort first in `.forward` order.
 79 |     public func sorted<Value: Comparable & Sendable>(by keyPath: KeyPath<Element, Value?> & Sendable, _ order: SortOrder = .forward) -> Self {
    |                 |                                                                                              `- error: 'SortOrder' is only available in macOS 12.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
 80 |         var copy = self
 81 |         copy.orderings = [Self.ordering(keyPath, { $0[keyPath: keyPath].nilFirst }, order)]
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryQuery.swift:87:110: error: 'SortOrder' is only available in macOS 12.0 or newer
 19 | /// Filters MediaPlayer supports run inside its query; the rest run in memory. Sorting reads each
 20 | /// sort key once per element, so it stays linear in property reads on large libraries.
 21 | public struct LibraryQuery<Element: LibraryElement>: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing generic struct
 22 |     struct Clause {
 23 |         let filter: MediaQueryRequest.Filter?
    :
 85 |     /// Breaks ties in the current ordering by an optional `keyPath`. Missing values sort first in
 86 |     /// `.forward` order.
 87 |     public func then<Value: Comparable & Sendable>(by keyPath: KeyPath<Element, Value?> & Sendable, _ order: SortOrder = .forward) -> Self {
    |                 |                                                                                            `- error: 'SortOrder' is only available in macOS 12.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
 88 |         var copy = self
 89 |         copy.orderings.append(Self.ordering(keyPath, { $0[keyPath: keyPath].nilFirst }, order))
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryQuery.swift:95:80: error: 'SortOrder' is only available in macOS 12.0 or newer
 19 | /// Filters MediaPlayer supports run inside its query; the rest run in memory. Sorting reads each
 20 | /// sort key once per element, so it stays linear in property reads on large libraries.
 21 | public struct LibraryQuery<Element: LibraryElement>: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing generic struct
 22 |     struct Clause {
 23 |         let filter: MediaQueryRequest.Filter?
    :
 93 |     /// Orders results by a flag, replacing any previous ordering. `false` sorts first in
 94 |     /// `.forward` order.
 95 |     public func sorted(by keyPath: KeyPath<Element, Bool> & Sendable, _ order: SortOrder = .forward) -> Self {
    |                 |                                                              `- error: 'SortOrder' is only available in macOS 12.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
 96 |         var copy = self
 97 |         copy.orderings = [Self.ordering(keyPath, { $0[keyPath: keyPath].sortRank }, order)]
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryQuery.swift:102:78: error: 'SortOrder' is only available in macOS 12.0 or newer
 19 | /// Filters MediaPlayer supports run inside its query; the rest run in memory. Sorting reads each
 20 | /// sort key once per element, so it stays linear in property reads on large libraries.
 21 | public struct LibraryQuery<Element: LibraryElement>: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing generic struct
 22 |     struct Clause {
 23 |         let filter: MediaQueryRequest.Filter?
    :
100 |
101 |     /// Breaks ties in the current ordering by a flag. `false` sorts first in `.forward` order.
102 |     public func then(by keyPath: KeyPath<Element, Bool> & Sendable, _ order: SortOrder = .forward) -> Self {
    |                 |                                                            `- error: 'SortOrder' is only available in macOS 12.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
103 |         var copy = self
104 |         copy.orderings.append(Self.ordering(keyPath, { $0[keyPath: keyPath].sortRank }, order))
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryQuery.swift:166:18: error: 'SortOrder' is only available in macOS 12.0 or newer
 19 | /// Filters MediaPlayer supports run inside its query; the rest run in memory. Sorting reads each
 20 | /// sort key once per element, so it stays linear in property reads on large libraries.
 21 | public struct LibraryQuery<Element: LibraryElement>: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing generic struct
 22 |     struct Clause {
 23 |         let filter: MediaQueryRequest.Filter?
    :
161 |     }
162 |
163 |     private static func ordering<Value: Comparable & Sendable>(
    |                         `- note: add '@available' attribute to enclosing static method
164 |         _ keyPath: some Hashable & Sendable,
165 |         _ key: @escaping @Sendable (Element) -> Value,
166 |         _ order: SortOrder
    |                  `- error: 'SortOrder' is only available in macOS 12.0 or newer
167 |     ) -> Ordering {
168 |         Ordering(identity: Identity(keyPath: keyPath, detail: "\(order)")) { elements in
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:47:40: error: 'MPMediaItem' is unavailable in macOS
45 |
46 | extension MediaSection where Element == MPMediaItem {
47 |     static func alphabetical(_ items: [MPMediaItem], grouping: MPMediaGrouping) -> [MediaSection] {
   |                                        `- error: 'MPMediaItem' is unavailable in macOS
48 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
49 |         return alphabetical(items) { $0.value(forProperty: property) as? String }
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItem.h:42:12: note: 'MPMediaItem' has been explicitly marked unavailable here
 40 | MP_API(ios(3.0), tvos(14.0))
 41 | API_UNAVAILABLE(watchos, macos)
 42 | @interface MPMediaItem : MPMediaEntity
    |            `- note: 'MPMediaItem' has been explicitly marked unavailable here
 43 |
 44 | #pragma mark - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:47:64: error: 'MPMediaGrouping' is unavailable in macOS
45 |
46 | extension MediaSection where Element == MPMediaItem {
47 |     static func alphabetical(_ items: [MPMediaItem], grouping: MPMediaGrouping) -> [MediaSection] {
   |                                                                `- error: 'MPMediaGrouping' is unavailable in macOS
48 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
49 |         return alphabetical(items) { $0.value(forProperty: property) as? String }
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:18:28: note: 'MPMediaGrouping' has been explicitly marked unavailable here
 16 | @class MPMediaQuerySection;
 17 |
 18 | typedef NS_ENUM(NSInteger, MPMediaGrouping) {
    |                            `- note: 'MPMediaGrouping' has been explicitly marked unavailable here
 19 |     MPMediaGroupingTitle,
 20 |     MPMediaGroupingAlbum,
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:46:41: error: 'MPMediaItem' is unavailable in macOS
44 | }
45 |
46 | extension MediaSection where Element == MPMediaItem {
   |                                         `- error: 'MPMediaItem' is unavailable in macOS
47 |     static func alphabetical(_ items: [MPMediaItem], grouping: MPMediaGrouping) -> [MediaSection] {
48 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItem.h:42:12: note: 'MPMediaItem' has been explicitly marked unavailable here
 40 | MP_API(ios(3.0), tvos(14.0))
 41 | API_UNAVAILABLE(watchos, macos)
 42 | @interface MPMediaItem : MPMediaEntity
    |            `- note: 'MPMediaItem' has been explicitly marked unavailable here
 43 |
 44 | #pragma mark - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:54:46: error: 'MPMediaItemCollection' is unavailable in macOS
52 |
53 | extension MediaSection where Element == MPMediaItemCollection {
54 |     static func alphabetical(_ collections: [MPMediaItemCollection], grouping: MPMediaGrouping) -> [MediaSection] {
   |                                              `- error: 'MPMediaItemCollection' is unavailable in macOS
55 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
56 |         return alphabetical(collections) { collection in
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItemCollection.h:19:12: note: 'MPMediaItemCollection' has been explicitly marked unavailable here
17 | MP_API(ios(3.0))
18 | API_UNAVAILABLE(tvos, watchos, macos)
19 | @interface MPMediaItemCollection : MPMediaEntity
   |            `- note: 'MPMediaItemCollection' has been explicitly marked unavailable here
20 |
21 | // Creates a media item collection by copying an array of MPMediaItems.
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:54:80: error: 'MPMediaGrouping' is unavailable in macOS
52 |
53 | extension MediaSection where Element == MPMediaItemCollection {
54 |     static func alphabetical(_ collections: [MPMediaItemCollection], grouping: MPMediaGrouping) -> [MediaSection] {
   |                                                                                `- error: 'MPMediaGrouping' is unavailable in macOS
55 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
56 |         return alphabetical(collections) { collection in
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:18:28: note: 'MPMediaGrouping' has been explicitly marked unavailable here
 16 | @class MPMediaQuerySection;
 17 |
 18 | typedef NS_ENUM(NSInteger, MPMediaGrouping) {
    |                            `- note: 'MPMediaGrouping' has been explicitly marked unavailable here
 19 |     MPMediaGroupingTitle,
 20 |     MPMediaGroupingAlbum,
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:53:41: error: 'MPMediaItemCollection' is unavailable in macOS
51 | }
52 |
53 | extension MediaSection where Element == MPMediaItemCollection {
   |                                         `- error: 'MPMediaItemCollection' is unavailable in macOS
54 |     static func alphabetical(_ collections: [MPMediaItemCollection], grouping: MPMediaGrouping) -> [MediaSection] {
55 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItemCollection.h:19:12: note: 'MPMediaItemCollection' has been explicitly marked unavailable here
17 | MP_API(ios(3.0))
18 | API_UNAVAILABLE(tvos, watchos, macos)
19 | @interface MPMediaItemCollection : MPMediaEntity
   |            `- note: 'MPMediaItemCollection' has been explicitly marked unavailable here
20 |
21 | // Creates a media item collection by copying an array of MPMediaItems.
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:48:24: error: 'MPMediaItem' is unavailable in macOS
46 | extension MediaSection where Element == MPMediaItem {
47 |     static func alphabetical(_ items: [MPMediaItem], grouping: MPMediaGrouping) -> [MediaSection] {
48 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
   |                        `- error: 'MPMediaItem' is unavailable in macOS
49 |         return alphabetical(items) { $0.value(forProperty: property) as? String }
50 |     }
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItem.h:42:12: note: 'MPMediaItem' has been explicitly marked unavailable here
 40 | MP_API(ios(3.0), tvos(14.0))
 41 | API_UNAVAILABLE(watchos, macos)
 42 | @interface MPMediaItem : MPMediaEntity
    |            `- note: 'MPMediaItem' has been explicitly marked unavailable here
 43 |
 44 | #pragma mark - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:48:36: error: 'titleProperty(forGroupingType:)' is unavailable in macOS
46 | extension MediaSection where Element == MPMediaItem {
47 |     static func alphabetical(_ items: [MPMediaItem], grouping: MPMediaGrouping) -> [MediaSection] {
48 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
   |                                    `- error: 'titleProperty(forGroupingType:)' is unavailable in macOS
49 |         return alphabetical(items) { $0.value(forProperty: property) as? String }
50 |     }
MediaPlayer.MPMediaItem.titleProperty:3:19: note: 'titleProperty(forGroupingType:)' has been explicitly marked unavailable here
1 | class MPMediaItem {
2 | @available(macOS, unavailable)
3 |   open class func titleProperty(forGroupingType groupingType: MPMediaGrouping) -> String}
  |                   `- note: 'titleProperty(forGroupingType:)' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:55:24: error: 'MPMediaItem' is unavailable in macOS
53 | extension MediaSection where Element == MPMediaItemCollection {
54 |     static func alphabetical(_ collections: [MPMediaItemCollection], grouping: MPMediaGrouping) -> [MediaSection] {
55 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
   |                        `- error: 'MPMediaItem' is unavailable in macOS
56 |         return alphabetical(collections) { collection in
57 |             (collection as? MPMediaPlaylist)?.name
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItem.h:42:12: note: 'MPMediaItem' has been explicitly marked unavailable here
 40 | MP_API(ios(3.0), tvos(14.0))
 41 | API_UNAVAILABLE(watchos, macos)
 42 | @interface MPMediaItem : MPMediaEntity
    |            `- note: 'MPMediaItem' has been explicitly marked unavailable here
 43 |
 44 | #pragma mark - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:55:36: error: 'titleProperty(forGroupingType:)' is unavailable in macOS
53 | extension MediaSection where Element == MPMediaItemCollection {
54 |     static func alphabetical(_ collections: [MPMediaItemCollection], grouping: MPMediaGrouping) -> [MediaSection] {
55 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
   |                                    `- error: 'titleProperty(forGroupingType:)' is unavailable in macOS
56 |         return alphabetical(collections) { collection in
57 |             (collection as? MPMediaPlaylist)?.name
MediaPlayer.MPMediaItem.titleProperty:3:19: note: 'titleProperty(forGroupingType:)' has been explicitly marked unavailable here
1 | class MPMediaItem {
2 | @available(macOS, unavailable)
3 |   open class func titleProperty(forGroupingType groupingType: MPMediaGrouping) -> String}
  |                   `- note: 'titleProperty(forGroupingType:)' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:57:29: error: 'MPMediaPlaylist' is unavailable in macOS
55 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
56 |         return alphabetical(collections) { collection in
57 |             (collection as? MPMediaPlaylist)?.name
   |                             `- error: 'MPMediaPlaylist' is unavailable in macOS
58 |                 ?? collection.representativeItem?.value(forProperty: property) as? String
59 |         }
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaPlaylist.h:28:12: note: 'MPMediaPlaylist' has been explicitly marked unavailable here
26 | MP_API(ios(3.0))
27 | API_UNAVAILABLE(tvos, watchos, macos)
28 | @interface MPMediaPlaylist : MPMediaItemCollection
   |            `- note: 'MPMediaPlaylist' has been explicitly marked unavailable here
29 |
30 | #pragma mark - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaItemPredicateInfo.swift:84:29: error: 'MPMediaPlaylistAttribute' is unavailable in macOS
 82 |
 83 |     /// Filter playlists by attributes, such as `.smart` or `.genius`.
 84 |     case playlistAttributes(MPMediaPlaylistAttribute)
    |                             `- error: 'MPMediaPlaylistAttribute' is unavailable in macOS
 85 |
 86 |     /// Filter playlists by their iCloud Music Library identifier.
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaPlaylist.h:17:32: note: 'MPMediaPlaylistAttribute' has been explicitly marked unavailable here
15 |
16 | // A playlist may have any number of MPMediaPlaylistAttributes associated.
17 | typedef NS_OPTIONS(NSUInteger, MPMediaPlaylistAttribute) {
   |                                `- note: 'MPMediaPlaylistAttribute' has been explicitly marked unavailable here
18 |     MPMediaPlaylistAttributeNone    = 0,
19 |     MPMediaPlaylistAttributeOnTheGo = (1 << 0), // if set, the playlist was created on a device rather than synced from iTunes
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaItemPredicateInfo.swift:104:31: error: 'MPMediaPredicateComparison' is unavailable in macOS
102 |     /// ```
103 |     public func predicate(
104 |         using comparisonType: MPMediaPredicateComparison = .equalTo
    |                               `- error: 'MPMediaPredicateComparison' is unavailable in macOS
105 |     ) -> MPMediaPropertyPredicate {
106 |         MPMediaPropertyPredicate(
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:82:28: note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 80 | // See MPMediaItem.h and MPMediaPlaylist.h for a list of properties.
 81 |
 82 | typedef NS_ENUM(NSInteger, MPMediaPredicateComparison) {
    |                            `- note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 83 |     MPMediaPredicateComparisonEqualTo,
 84 |     MPMediaPredicateComparisonContains
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaItemPredicateInfo.swift:105:10: error: 'MPMediaPropertyPredicate' is unavailable in macOS
103 |     public func predicate(
104 |         using comparisonType: MPMediaPredicateComparison = .equalTo
105 |     ) -> MPMediaPropertyPredicate {
    |          `- error: 'MPMediaPropertyPredicate' is unavailable in macOS
106 |         MPMediaPropertyPredicate(
107 |             value: value,
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:89:12: note: 'MPMediaPropertyPredicate' has been explicitly marked unavailable here
 87 | MP_API(ios(3.0))
 88 | API_UNAVAILABLE(tvos, watchos, macos)
 89 | @interface MPMediaPropertyPredicate : MPMediaPredicate
    |            `- note: 'MPMediaPropertyPredicate' has been explicitly marked unavailable here
 90 |
 91 | + (MPMediaPropertyPredicate *)predicateWithValue:(nullable id)value forProperty:(NSString *)property; // comparisonType is MPMediaPredicateComparisonEqualTo
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaItemPredicateInfo.swift:118:28: error: 'MPMediaEntity' is unavailable in macOS
116 |
117 |     // Approximates MediaPlayer's matching: strings compare case-insensitively, numbers by value.
118 |     func matches(_ entity: MPMediaEntity, using comparison: MPMediaPredicateComparison) -> Bool {
    |                            `- error: 'MPMediaEntity' is unavailable in macOS
119 |         switch (value, entity.value(forProperty: property)) {
120 |         case let (expected as String, actual as String):
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaEntity.h:22:12: note: 'MPMediaEntity' has been explicitly marked unavailable here
20 | MP_API(ios(4.2), tvos(14.0))
21 | API_UNAVAILABLE(watchos, macos)
22 | @interface MPMediaEntity : NSObject <NSSecureCoding>
   |            `- note: 'MPMediaEntity' has been explicitly marked unavailable here
23 |
24 | // Returns YES for properties which can be used to construct MPMediaPropertyPredicates.
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaItemPredicateInfo.swift:118:61: error: 'MPMediaPredicateComparison' is unavailable in macOS
116 |
117 |     // Approximates MediaPlayer's matching: strings compare case-insensitively, numbers by value.
118 |     func matches(_ entity: MPMediaEntity, using comparison: MPMediaPredicateComparison) -> Bool {
    |                                                             `- error: 'MPMediaPredicateComparison' is unavailable in macOS
119 |         switch (value, entity.value(forProperty: property)) {
120 |         case let (expected as String, actual as String):
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:82:28: note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 80 | // See MPMediaItem.h and MPMediaPlaylist.h for a list of properties.
 81 |
 82 | typedef NS_ENUM(NSInteger, MPMediaPredicateComparison) {
    |                            `- note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 83 |     MPMediaPredicateComparisonEqualTo,
 84 |     MPMediaPredicateComparisonContains
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaItemPredicateInfo.swift:106:9: error: 'MPMediaPropertyPredicate' is unavailable in macOS
104 |         using comparisonType: MPMediaPredicateComparison = .equalTo
105 |     ) -> MPMediaPropertyPredicate {
106 |         MPMediaPropertyPredicate(
    |         `- error: 'MPMediaPropertyPredicate' is unavailable in macOS
107 |             value: value,
108 |             forProperty: property,
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:89:12: note: 'MPMediaPropertyPredicate' has been explicitly marked unavailable here
 87 | MP_API(ios(3.0))
 88 | API_UNAVAILABLE(tvos, watchos, macos)
 89 | @interface MPMediaPropertyPredicate : MPMediaPredicate
    |            `- note: 'MPMediaPropertyPredicate' has been explicitly marked unavailable here
 90 |
 91 | + (MPMediaPropertyPredicate *)predicateWithValue:(nullable id)value forProperty:(NSString *)property; // comparisonType is MPMediaPredicateComparisonEqualTo
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaQueryProtocol.swift:34:17: error: 'MPMediaItem' is unavailable in macOS
32 |     /// Returns an array of `MPMediaItem` objects that match the query predicates,
33 |     /// or `nil` if the query has not been executed or returned no results.
34 |     var items: [MPMediaItem]? { get }
   |                 `- error: 'MPMediaItem' is unavailable in macOS
35 |
36 |     /// The media items collection matching the query criteria.
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItem.h:42:12: note: 'MPMediaItem' has been explicitly marked unavailable here
 40 | MP_API(ios(3.0), tvos(14.0))
 41 | API_UNAVAILABLE(watchos, macos)
 42 | @interface MPMediaItem : MPMediaEntity
    |            `- note: 'MPMediaItem' has been explicitly marked unavailable here
 43 |
 44 | #pragma mark - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaQueryProtocol.swift:40:23: error: 'MPMediaItemCollection' is unavailable in macOS
38 |     /// Returns an array of `MPMediaItemCollection` objects that match the query predicates,
39 |     /// or `nil` if the query has not been executed or returned no results.
40 |     var collections: [MPMediaItemCollection]? { get }
   |                       `- error: 'MPMediaItemCollection' is unavailable in macOS
41 |
42 |     /// The grouping type used to organize query results.
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItemCollection.h:19:12: note: 'MPMediaItemCollection' has been explicitly marked unavailable here
17 | MP_API(ios(3.0))
18 | API_UNAVAILABLE(tvos, watchos, macos)
19 | @interface MPMediaItemCollection : MPMediaEntity
   |            `- note: 'MPMediaItemCollection' has been explicitly marked unavailable here
20 |
21 | // Creates a media item collection by copying an array of MPMediaItems.
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaQueryProtocol.swift:46:23: error: 'MPMediaGrouping' is unavailable in macOS
44 |     /// Controls how the media items are grouped in the results. Can be modified
45 |     /// to change the organization of items returned by the query.
46 |     var groupingType: MPMediaGrouping { get set }
   |                       `- error: 'MPMediaGrouping' is unavailable in macOS
47 |
48 |     /// Initializes a query with optional filter predicates.
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:18:28: note: 'MPMediaGrouping' has been explicitly marked unavailable here
 16 | @class MPMediaQuerySection;
 17 |
 18 | typedef NS_ENUM(NSInteger, MPMediaGrouping) {
    |                            `- note: 'MPMediaGrouping' has been explicitly marked unavailable here
 19 |     MPMediaGroupingTitle,
 20 |     MPMediaGroupingAlbum,
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaQueryProtocol.swift:53:32: error: 'MPMediaPredicate' is unavailable in macOS
51 |     ///   - filterPredicates: A set of `MPMediaPredicate` objects that define the filtering criteria for the query.
52 |     ///                      Pass `nil` to fetch all available media items without filtering.
53 |     init(filterPredicates: Set<MPMediaPredicate>?)
   |                                `- error: 'MPMediaPredicate' is unavailable in macOS
54 |
55 |     /// Index section titles and the ranges of ``items`` they cover, or `nil` when the query doesn't
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:75:12: note: 'MPMediaPredicate' has been explicitly marked unavailable here
 73 | MP_API(ios(3.0))
 74 | API_UNAVAILABLE(tvos, watchos, macos)
 75 | @interface MPMediaPredicate : NSObject <NSSecureCoding> {}
    |            `- note: 'MPMediaPredicate' has been explicitly marked unavailable here
 76 | @end
 77 |
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaQueryProtocol.swift:69:11: error: 'MPMediaQuery' is unavailable in macOS
67 | }
68 |
69 | extension MPMediaQuery: MediaQueryProtocol {
   |           `- error: 'MPMediaQuery' is unavailable in macOS
70 |     public var itemSectionRanges: [(title: String, range: Range<Int>)]? {
71 |         itemSections?.compactMap { section in Range(section.range).map { (section.title, $0) } }
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:32:12: note: 'MPMediaQuery' has been explicitly marked unavailable here
 30 | MP_API(ios(3.0))
 31 | API_UNAVAILABLE(tvos, watchos, macos)
 32 | @interface MPMediaQuery : NSObject <NSSecureCoding, NSCopying>
    |            `- note: 'MPMediaQuery' has been explicitly marked unavailable here
 33 |
 34 | - (instancetype)initWithFilterPredicates:(nullable NSSet<MPMediaPredicate *> *)filterPredicates NS_DESIGNATED_INITIALIZER;
[48/51] Compiling MediaBridge LibraryQuery.swift
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryQuery.swift:64:111: error: 'SortOrder' is only available in macOS 12.0 or newer
 19 | /// Filters MediaPlayer supports run inside its query; the rest run in memory. Sorting reads each
 20 | /// sort key once per element, so it stays linear in property reads on large libraries.
 21 | public struct LibraryQuery<Element: LibraryElement>: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing generic struct
 22 |     struct Clause {
 23 |         let filter: MediaQueryRequest.Filter?
    :
 62 |
 63 |     /// Orders results by `keyPath`, replacing any previous ordering.
 64 |     public func sorted<Value: Comparable & Sendable>(by keyPath: KeyPath<Element, Value> & Sendable, _ order: SortOrder = .forward) -> Self {
    |                 |                                                                                             `- error: 'SortOrder' is only available in macOS 12.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
 65 |         var copy = self
 66 |         copy.orderings = [Self.ordering(keyPath, { $0[keyPath: keyPath] }, order)]
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryQuery.swift:71:109: error: 'SortOrder' is only available in macOS 12.0 or newer
 19 | /// Filters MediaPlayer supports run inside its query; the rest run in memory. Sorting reads each
 20 | /// sort key once per element, so it stays linear in property reads on large libraries.
 21 | public struct LibraryQuery<Element: LibraryElement>: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing generic struct
 22 |     struct Clause {
 23 |         let filter: MediaQueryRequest.Filter?
    :
 69 |
 70 |     /// Breaks ties in the current ordering by `keyPath`.
 71 |     public func then<Value: Comparable & Sendable>(by keyPath: KeyPath<Element, Value> & Sendable, _ order: SortOrder = .forward) -> Self {
    |                 |                                                                                           `- error: 'SortOrder' is only available in macOS 12.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
 72 |         var copy = self
 73 |         copy.orderings.append(Self.ordering(keyPath, { $0[keyPath: keyPath] }, order))
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryQuery.swift:79:112: error: 'SortOrder' is only available in macOS 12.0 or newer
 19 | /// Filters MediaPlayer supports run inside its query; the rest run in memory. Sorting reads each
 20 | /// sort key once per element, so it stays linear in property reads on large libraries.
 21 | public struct LibraryQuery<Element: LibraryElement>: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing generic struct
 22 |     struct Clause {
 23 |         let filter: MediaQueryRequest.Filter?
    :
 77 |     /// Orders results by an optional `keyPath`, replacing any previous ordering. Missing values
 78 |     /// sort first in `.forward` order.
 79 |     public func sorted<Value: Comparable & Sendable>(by keyPath: KeyPath<Element, Value?> & Sendable, _ order: SortOrder = .forward) -> Self {
    |                 |                                                                                              `- error: 'SortOrder' is only available in macOS 12.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
 80 |         var copy = self
 81 |         copy.orderings = [Self.ordering(keyPath, { $0[keyPath: keyPath].nilFirst }, order)]
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryQuery.swift:87:110: error: 'SortOrder' is only available in macOS 12.0 or newer
 19 | /// Filters MediaPlayer supports run inside its query; the rest run in memory. Sorting reads each
 20 | /// sort key once per element, so it stays linear in property reads on large libraries.
 21 | public struct LibraryQuery<Element: LibraryElement>: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing generic struct
 22 |     struct Clause {
 23 |         let filter: MediaQueryRequest.Filter?
    :
 85 |     /// Breaks ties in the current ordering by an optional `keyPath`. Missing values sort first in
 86 |     /// `.forward` order.
 87 |     public func then<Value: Comparable & Sendable>(by keyPath: KeyPath<Element, Value?> & Sendable, _ order: SortOrder = .forward) -> Self {
    |                 |                                                                                            `- error: 'SortOrder' is only available in macOS 12.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
 88 |         var copy = self
 89 |         copy.orderings.append(Self.ordering(keyPath, { $0[keyPath: keyPath].nilFirst }, order))
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryQuery.swift:95:80: error: 'SortOrder' is only available in macOS 12.0 or newer
 19 | /// Filters MediaPlayer supports run inside its query; the rest run in memory. Sorting reads each
 20 | /// sort key once per element, so it stays linear in property reads on large libraries.
 21 | public struct LibraryQuery<Element: LibraryElement>: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing generic struct
 22 |     struct Clause {
 23 |         let filter: MediaQueryRequest.Filter?
    :
 93 |     /// Orders results by a flag, replacing any previous ordering. `false` sorts first in
 94 |     /// `.forward` order.
 95 |     public func sorted(by keyPath: KeyPath<Element, Bool> & Sendable, _ order: SortOrder = .forward) -> Self {
    |                 |                                                              `- error: 'SortOrder' is only available in macOS 12.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
 96 |         var copy = self
 97 |         copy.orderings = [Self.ordering(keyPath, { $0[keyPath: keyPath].sortRank }, order)]
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryQuery.swift:102:78: error: 'SortOrder' is only available in macOS 12.0 or newer
 19 | /// Filters MediaPlayer supports run inside its query; the rest run in memory. Sorting reads each
 20 | /// sort key once per element, so it stays linear in property reads on large libraries.
 21 | public struct LibraryQuery<Element: LibraryElement>: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing generic struct
 22 |     struct Clause {
 23 |         let filter: MediaQueryRequest.Filter?
    :
100 |
101 |     /// Breaks ties in the current ordering by a flag. `false` sorts first in `.forward` order.
102 |     public func then(by keyPath: KeyPath<Element, Bool> & Sendable, _ order: SortOrder = .forward) -> Self {
    |                 |                                                            `- error: 'SortOrder' is only available in macOS 12.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
103 |         var copy = self
104 |         copy.orderings.append(Self.ordering(keyPath, { $0[keyPath: keyPath].sortRank }, order))
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryQuery.swift:166:18: error: 'SortOrder' is only available in macOS 12.0 or newer
 19 | /// Filters MediaPlayer supports run inside its query; the rest run in memory. Sorting reads each
 20 | /// sort key once per element, so it stays linear in property reads on large libraries.
 21 | public struct LibraryQuery<Element: LibraryElement>: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing generic struct
 22 |     struct Clause {
 23 |         let filter: MediaQueryRequest.Filter?
    :
161 |     }
162 |
163 |     private static func ordering<Value: Comparable & Sendable>(
    |                         `- note: add '@available' attribute to enclosing static method
164 |         _ keyPath: some Hashable & Sendable,
165 |         _ key: @escaping @Sendable (Element) -> Value,
166 |         _ order: SortOrder
    |                  `- error: 'SortOrder' is only available in macOS 12.0 or newer
167 |     ) -> Ordering {
168 |         Ordering(identity: Identity(keyPath: keyPath, detail: "\(order)")) { elements in
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:47:40: error: 'MPMediaItem' is unavailable in macOS
45 |
46 | extension MediaSection where Element == MPMediaItem {
47 |     static func alphabetical(_ items: [MPMediaItem], grouping: MPMediaGrouping) -> [MediaSection] {
   |                                        `- error: 'MPMediaItem' is unavailable in macOS
48 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
49 |         return alphabetical(items) { $0.value(forProperty: property) as? String }
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItem.h:42:12: note: 'MPMediaItem' has been explicitly marked unavailable here
 40 | MP_API(ios(3.0), tvos(14.0))
 41 | API_UNAVAILABLE(watchos, macos)
 42 | @interface MPMediaItem : MPMediaEntity
    |            `- note: 'MPMediaItem' has been explicitly marked unavailable here
 43 |
 44 | #pragma mark - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:47:64: error: 'MPMediaGrouping' is unavailable in macOS
45 |
46 | extension MediaSection where Element == MPMediaItem {
47 |     static func alphabetical(_ items: [MPMediaItem], grouping: MPMediaGrouping) -> [MediaSection] {
   |                                                                `- error: 'MPMediaGrouping' is unavailable in macOS
48 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
49 |         return alphabetical(items) { $0.value(forProperty: property) as? String }
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:18:28: note: 'MPMediaGrouping' has been explicitly marked unavailable here
 16 | @class MPMediaQuerySection;
 17 |
 18 | typedef NS_ENUM(NSInteger, MPMediaGrouping) {
    |                            `- note: 'MPMediaGrouping' has been explicitly marked unavailable here
 19 |     MPMediaGroupingTitle,
 20 |     MPMediaGroupingAlbum,
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:46:41: error: 'MPMediaItem' is unavailable in macOS
44 | }
45 |
46 | extension MediaSection where Element == MPMediaItem {
   |                                         `- error: 'MPMediaItem' is unavailable in macOS
47 |     static func alphabetical(_ items: [MPMediaItem], grouping: MPMediaGrouping) -> [MediaSection] {
48 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItem.h:42:12: note: 'MPMediaItem' has been explicitly marked unavailable here
 40 | MP_API(ios(3.0), tvos(14.0))
 41 | API_UNAVAILABLE(watchos, macos)
 42 | @interface MPMediaItem : MPMediaEntity
    |            `- note: 'MPMediaItem' has been explicitly marked unavailable here
 43 |
 44 | #pragma mark - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:54:46: error: 'MPMediaItemCollection' is unavailable in macOS
52 |
53 | extension MediaSection where Element == MPMediaItemCollection {
54 |     static func alphabetical(_ collections: [MPMediaItemCollection], grouping: MPMediaGrouping) -> [MediaSection] {
   |                                              `- error: 'MPMediaItemCollection' is unavailable in macOS
55 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
56 |         return alphabetical(collections) { collection in
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItemCollection.h:19:12: note: 'MPMediaItemCollection' has been explicitly marked unavailable here
17 | MP_API(ios(3.0))
18 | API_UNAVAILABLE(tvos, watchos, macos)
19 | @interface MPMediaItemCollection : MPMediaEntity
   |            `- note: 'MPMediaItemCollection' has been explicitly marked unavailable here
20 |
21 | // Creates a media item collection by copying an array of MPMediaItems.
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:54:80: error: 'MPMediaGrouping' is unavailable in macOS
52 |
53 | extension MediaSection where Element == MPMediaItemCollection {
54 |     static func alphabetical(_ collections: [MPMediaItemCollection], grouping: MPMediaGrouping) -> [MediaSection] {
   |                                                                                `- error: 'MPMediaGrouping' is unavailable in macOS
55 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
56 |         return alphabetical(collections) { collection in
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:18:28: note: 'MPMediaGrouping' has been explicitly marked unavailable here
 16 | @class MPMediaQuerySection;
 17 |
 18 | typedef NS_ENUM(NSInteger, MPMediaGrouping) {
    |                            `- note: 'MPMediaGrouping' has been explicitly marked unavailable here
 19 |     MPMediaGroupingTitle,
 20 |     MPMediaGroupingAlbum,
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:53:41: error: 'MPMediaItemCollection' is unavailable in macOS
51 | }
52 |
53 | extension MediaSection where Element == MPMediaItemCollection {
   |                                         `- error: 'MPMediaItemCollection' is unavailable in macOS
54 |     static func alphabetical(_ collections: [MPMediaItemCollection], grouping: MPMediaGrouping) -> [MediaSection] {
55 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItemCollection.h:19:12: note: 'MPMediaItemCollection' has been explicitly marked unavailable here
17 | MP_API(ios(3.0))
18 | API_UNAVAILABLE(tvos, watchos, macos)
19 | @interface MPMediaItemCollection : MPMediaEntity
   |            `- note: 'MPMediaItemCollection' has been explicitly marked unavailable here
20 |
21 | // Creates a media item collection by copying an array of MPMediaItems.
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:48:24: error: 'MPMediaItem' is unavailable in macOS
46 | extension MediaSection where Element == MPMediaItem {
47 |     static func alphabetical(_ items: [MPMediaItem], grouping: MPMediaGrouping) -> [MediaSection] {
48 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
   |                        `- error: 'MPMediaItem' is unavailable in macOS
49 |         return alphabetical(items) { $0.value(forProperty: property) as? String }
50 |     }
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItem.h:42:12: note: 'MPMediaItem' has been explicitly marked unavailable here
 40 | MP_API(ios(3.0), tvos(14.0))
 41 | API_UNAVAILABLE(watchos, macos)
 42 | @interface MPMediaItem : MPMediaEntity
    |            `- note: 'MPMediaItem' has been explicitly marked unavailable here
 43 |
 44 | #pragma mark - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:48:36: error: 'titleProperty(forGroupingType:)' is unavailable in macOS
46 | extension MediaSection where Element == MPMediaItem {
47 |     static func alphabetical(_ items: [MPMediaItem], grouping: MPMediaGrouping) -> [MediaSection] {
48 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
   |                                    `- error: 'titleProperty(forGroupingType:)' is unavailable in macOS
49 |         return alphabetical(items) { $0.value(forProperty: property) as? String }
50 |     }
MediaPlayer.MPMediaItem.titleProperty:3:19: note: 'titleProperty(forGroupingType:)' has been explicitly marked unavailable here
1 | class MPMediaItem {
2 | @available(macOS, unavailable)
3 |   open class func titleProperty(forGroupingType groupingType: MPMediaGrouping) -> String}
  |                   `- note: 'titleProperty(forGroupingType:)' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:55:24: error: 'MPMediaItem' is unavailable in macOS
53 | extension MediaSection where Element == MPMediaItemCollection {
54 |     static func alphabetical(_ collections: [MPMediaItemCollection], grouping: MPMediaGrouping) -> [MediaSection] {
55 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
   |                        `- error: 'MPMediaItem' is unavailable in macOS
56 |         return alphabetical(collections) { collection in
57 |             (collection as? MPMediaPlaylist)?.name
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItem.h:42:12: note: 'MPMediaItem' has been explicitly marked unavailable here
 40 | MP_API(ios(3.0), tvos(14.0))
 41 | API_UNAVAILABLE(watchos, macos)
 42 | @interface MPMediaItem : MPMediaEntity
    |            `- note: 'MPMediaItem' has been explicitly marked unavailable here
 43 |
 44 | #pragma mark - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:55:36: error: 'titleProperty(forGroupingType:)' is unavailable in macOS
53 | extension MediaSection where Element == MPMediaItemCollection {
54 |     static func alphabetical(_ collections: [MPMediaItemCollection], grouping: MPMediaGrouping) -> [MediaSection] {
55 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
   |                                    `- error: 'titleProperty(forGroupingType:)' is unavailable in macOS
56 |         return alphabetical(collections) { collection in
57 |             (collection as? MPMediaPlaylist)?.name
MediaPlayer.MPMediaItem.titleProperty:3:19: note: 'titleProperty(forGroupingType:)' has been explicitly marked unavailable here
1 | class MPMediaItem {
2 | @available(macOS, unavailable)
3 |   open class func titleProperty(forGroupingType groupingType: MPMediaGrouping) -> String}
  |                   `- note: 'titleProperty(forGroupingType:)' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:57:29: error: 'MPMediaPlaylist' is unavailable in macOS
55 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
56 |         return alphabetical(collections) { collection in
57 |             (collection as? MPMediaPlaylist)?.name
   |                             `- error: 'MPMediaPlaylist' is unavailable in macOS
58 |                 ?? collection.representativeItem?.value(forProperty: property) as? String
59 |         }
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaPlaylist.h:28:12: note: 'MPMediaPlaylist' has been explicitly marked unavailable here
26 | MP_API(ios(3.0))
27 | API_UNAVAILABLE(tvos, watchos, macos)
28 | @interface MPMediaPlaylist : MPMediaItemCollection
   |            `- note: 'MPMediaPlaylist' has been explicitly marked unavailable here
29 |
30 | #pragma mark - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaItemPredicateInfo.swift:84:29: error: 'MPMediaPlaylistAttribute' is unavailable in macOS
 82 |
 83 |     /// Filter playlists by attributes, such as `.smart` or `.genius`.
 84 |     case playlistAttributes(MPMediaPlaylistAttribute)
    |                             `- error: 'MPMediaPlaylistAttribute' is unavailable in macOS
 85 |
 86 |     /// Filter playlists by their iCloud Music Library identifier.
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaPlaylist.h:17:32: note: 'MPMediaPlaylistAttribute' has been explicitly marked unavailable here
15 |
16 | // A playlist may have any number of MPMediaPlaylistAttributes associated.
17 | typedef NS_OPTIONS(NSUInteger, MPMediaPlaylistAttribute) {
   |                                `- note: 'MPMediaPlaylistAttribute' has been explicitly marked unavailable here
18 |     MPMediaPlaylistAttributeNone    = 0,
19 |     MPMediaPlaylistAttributeOnTheGo = (1 << 0), // if set, the playlist was created on a device rather than synced from iTunes
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaItemPredicateInfo.swift:104:31: error: 'MPMediaPredicateComparison' is unavailable in macOS
102 |     /// ```
103 |     public func predicate(
104 |         using comparisonType: MPMediaPredicateComparison = .equalTo
    |                               `- error: 'MPMediaPredicateComparison' is unavailable in macOS
105 |     ) -> MPMediaPropertyPredicate {
106 |         MPMediaPropertyPredicate(
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:82:28: note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 80 | // See MPMediaItem.h and MPMediaPlaylist.h for a list of properties.
 81 |
 82 | typedef NS_ENUM(NSInteger, MPMediaPredicateComparison) {
    |                            `- note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 83 |     MPMediaPredicateComparisonEqualTo,
 84 |     MPMediaPredicateComparisonContains
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaItemPredicateInfo.swift:105:10: error: 'MPMediaPropertyPredicate' is unavailable in macOS
103 |     public func predicate(
104 |         using comparisonType: MPMediaPredicateComparison = .equalTo
105 |     ) -> MPMediaPropertyPredicate {
    |          `- error: 'MPMediaPropertyPredicate' is unavailable in macOS
106 |         MPMediaPropertyPredicate(
107 |             value: value,
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:89:12: note: 'MPMediaPropertyPredicate' has been explicitly marked unavailable here
 87 | MP_API(ios(3.0))
 88 | API_UNAVAILABLE(tvos, watchos, macos)
 89 | @interface MPMediaPropertyPredicate : MPMediaPredicate
    |            `- note: 'MPMediaPropertyPredicate' has been explicitly marked unavailable here
 90 |
 91 | + (MPMediaPropertyPredicate *)predicateWithValue:(nullable id)value forProperty:(NSString *)property; // comparisonType is MPMediaPredicateComparisonEqualTo
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaItemPredicateInfo.swift:118:28: error: 'MPMediaEntity' is unavailable in macOS
116 |
117 |     // Approximates MediaPlayer's matching: strings compare case-insensitively, numbers by value.
118 |     func matches(_ entity: MPMediaEntity, using comparison: MPMediaPredicateComparison) -> Bool {
    |                            `- error: 'MPMediaEntity' is unavailable in macOS
119 |         switch (value, entity.value(forProperty: property)) {
120 |         case let (expected as String, actual as String):
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaEntity.h:22:12: note: 'MPMediaEntity' has been explicitly marked unavailable here
20 | MP_API(ios(4.2), tvos(14.0))
21 | API_UNAVAILABLE(watchos, macos)
22 | @interface MPMediaEntity : NSObject <NSSecureCoding>
   |            `- note: 'MPMediaEntity' has been explicitly marked unavailable here
23 |
24 | // Returns YES for properties which can be used to construct MPMediaPropertyPredicates.
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaItemPredicateInfo.swift:118:61: error: 'MPMediaPredicateComparison' is unavailable in macOS
116 |
117 |     // Approximates MediaPlayer's matching: strings compare case-insensitively, numbers by value.
118 |     func matches(_ entity: MPMediaEntity, using comparison: MPMediaPredicateComparison) -> Bool {
    |                                                             `- error: 'MPMediaPredicateComparison' is unavailable in macOS
119 |         switch (value, entity.value(forProperty: property)) {
120 |         case let (expected as String, actual as String):
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:82:28: note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 80 | // See MPMediaItem.h and MPMediaPlaylist.h for a list of properties.
 81 |
 82 | typedef NS_ENUM(NSInteger, MPMediaPredicateComparison) {
    |                            `- note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 83 |     MPMediaPredicateComparisonEqualTo,
 84 |     MPMediaPredicateComparisonContains
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaItemPredicateInfo.swift:106:9: error: 'MPMediaPropertyPredicate' is unavailable in macOS
104 |         using comparisonType: MPMediaPredicateComparison = .equalTo
105 |     ) -> MPMediaPropertyPredicate {
106 |         MPMediaPropertyPredicate(
    |         `- error: 'MPMediaPropertyPredicate' is unavailable in macOS
107 |             value: value,
108 |             forProperty: property,
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:89:12: note: 'MPMediaPropertyPredicate' has been explicitly marked unavailable here
 87 | MP_API(ios(3.0))
 88 | API_UNAVAILABLE(tvos, watchos, macos)
 89 | @interface MPMediaPropertyPredicate : MPMediaPredicate
    |            `- note: 'MPMediaPropertyPredicate' has been explicitly marked unavailable here
 90 |
 91 | + (MPMediaPropertyPredicate *)predicateWithValue:(nullable id)value forProperty:(NSString *)property; // comparisonType is MPMediaPredicateComparisonEqualTo
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaQueryProtocol.swift:34:17: error: 'MPMediaItem' is unavailable in macOS
32 |     /// Returns an array of `MPMediaItem` objects that match the query predicates,
33 |     /// or `nil` if the query has not been executed or returned no results.
34 |     var items: [MPMediaItem]? { get }
   |                 `- error: 'MPMediaItem' is unavailable in macOS
35 |
36 |     /// The media items collection matching the query criteria.
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItem.h:42:12: note: 'MPMediaItem' has been explicitly marked unavailable here
 40 | MP_API(ios(3.0), tvos(14.0))
 41 | API_UNAVAILABLE(watchos, macos)
 42 | @interface MPMediaItem : MPMediaEntity
    |            `- note: 'MPMediaItem' has been explicitly marked unavailable here
 43 |
 44 | #pragma mark - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaQueryProtocol.swift:40:23: error: 'MPMediaItemCollection' is unavailable in macOS
38 |     /// Returns an array of `MPMediaItemCollection` objects that match the query predicates,
39 |     /// or `nil` if the query has not been executed or returned no results.
40 |     var collections: [MPMediaItemCollection]? { get }
   |                       `- error: 'MPMediaItemCollection' is unavailable in macOS
41 |
42 |     /// The grouping type used to organize query results.
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItemCollection.h:19:12: note: 'MPMediaItemCollection' has been explicitly marked unavailable here
17 | MP_API(ios(3.0))
18 | API_UNAVAILABLE(tvos, watchos, macos)
19 | @interface MPMediaItemCollection : MPMediaEntity
   |            `- note: 'MPMediaItemCollection' has been explicitly marked unavailable here
20 |
21 | // Creates a media item collection by copying an array of MPMediaItems.
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaQueryProtocol.swift:46:23: error: 'MPMediaGrouping' is unavailable in macOS
44 |     /// Controls how the media items are grouped in the results. Can be modified
45 |     /// to change the organization of items returned by the query.
46 |     var groupingType: MPMediaGrouping { get set }
   |                       `- error: 'MPMediaGrouping' is unavailable in macOS
47 |
48 |     /// Initializes a query with optional filter predicates.
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:18:28: note: 'MPMediaGrouping' has been explicitly marked unavailable here
 16 | @class MPMediaQuerySection;
 17 |
 18 | typedef NS_ENUM(NSInteger, MPMediaGrouping) {
    |                            `- note: 'MPMediaGrouping' has been explicitly marked unavailable here
 19 |     MPMediaGroupingTitle,
 20 |     MPMediaGroupingAlbum,
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaQueryProtocol.swift:53:32: error: 'MPMediaPredicate' is unavailable in macOS
51 |     ///   - filterPredicates: A set of `MPMediaPredicate` objects that define the filtering criteria for the query.
52 |     ///                      Pass `nil` to fetch all available media items without filtering.
53 |     init(filterPredicates: Set<MPMediaPredicate>?)
   |                                `- error: 'MPMediaPredicate' is unavailable in macOS
54 |
55 |     /// Index section titles and the ranges of ``items`` they cover, or `nil` when the query doesn't
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:75:12: note: 'MPMediaPredicate' has been explicitly marked unavailable here
 73 | MP_API(ios(3.0))
 74 | API_UNAVAILABLE(tvos, watchos, macos)
 75 | @interface MPMediaPredicate : NSObject <NSSecureCoding> {}
    |            `- note: 'MPMediaPredicate' has been explicitly marked unavailable here
 76 | @end
 77 |
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaQueryProtocol.swift:69:11: error: 'MPMediaQuery' is unavailable in macOS
67 | }
68 |
69 | extension MPMediaQuery: MediaQueryProtocol {
   |           `- error: 'MPMediaQuery' is unavailable in macOS
70 |     public var itemSectionRanges: [(title: String, range: Range<Int>)]? {
71 |         itemSections?.compactMap { section in Range(section.range).map { (section.title, $0) } }
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:32:12: note: 'MPMediaQuery' has been explicitly marked unavailable here
 30 | MP_API(ios(3.0))
 31 | API_UNAVAILABLE(tvos, watchos, macos)
 32 | @interface MPMediaQuery : NSObject <NSSecureCoding, NSCopying>
    |            `- note: 'MPMediaQuery' has been explicitly marked unavailable here
 33 |
 34 | - (instancetype)initWithFilterPredicates:(nullable NSSet<MPMediaPredicate *> *)filterPredicates NS_DESIGNATED_INITIALIZER;
[49/51] Compiling MediaBridge MediaSection.swift
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryQuery.swift:64:111: error: 'SortOrder' is only available in macOS 12.0 or newer
 19 | /// Filters MediaPlayer supports run inside its query; the rest run in memory. Sorting reads each
 20 | /// sort key once per element, so it stays linear in property reads on large libraries.
 21 | public struct LibraryQuery<Element: LibraryElement>: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing generic struct
 22 |     struct Clause {
 23 |         let filter: MediaQueryRequest.Filter?
    :
 62 |
 63 |     /// Orders results by `keyPath`, replacing any previous ordering.
 64 |     public func sorted<Value: Comparable & Sendable>(by keyPath: KeyPath<Element, Value> & Sendable, _ order: SortOrder = .forward) -> Self {
    |                 |                                                                                             `- error: 'SortOrder' is only available in macOS 12.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
 65 |         var copy = self
 66 |         copy.orderings = [Self.ordering(keyPath, { $0[keyPath: keyPath] }, order)]
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryQuery.swift:71:109: error: 'SortOrder' is only available in macOS 12.0 or newer
 19 | /// Filters MediaPlayer supports run inside its query; the rest run in memory. Sorting reads each
 20 | /// sort key once per element, so it stays linear in property reads on large libraries.
 21 | public struct LibraryQuery<Element: LibraryElement>: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing generic struct
 22 |     struct Clause {
 23 |         let filter: MediaQueryRequest.Filter?
    :
 69 |
 70 |     /// Breaks ties in the current ordering by `keyPath`.
 71 |     public func then<Value: Comparable & Sendable>(by keyPath: KeyPath<Element, Value> & Sendable, _ order: SortOrder = .forward) -> Self {
    |                 |                                                                                           `- error: 'SortOrder' is only available in macOS 12.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
 72 |         var copy = self
 73 |         copy.orderings.append(Self.ordering(keyPath, { $0[keyPath: keyPath] }, order))
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryQuery.swift:79:112: error: 'SortOrder' is only available in macOS 12.0 or newer
 19 | /// Filters MediaPlayer supports run inside its query; the rest run in memory. Sorting reads each
 20 | /// sort key once per element, so it stays linear in property reads on large libraries.
 21 | public struct LibraryQuery<Element: LibraryElement>: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing generic struct
 22 |     struct Clause {
 23 |         let filter: MediaQueryRequest.Filter?
    :
 77 |     /// Orders results by an optional `keyPath`, replacing any previous ordering. Missing values
 78 |     /// sort first in `.forward` order.
 79 |     public func sorted<Value: Comparable & Sendable>(by keyPath: KeyPath<Element, Value?> & Sendable, _ order: SortOrder = .forward) -> Self {
    |                 |                                                                                              `- error: 'SortOrder' is only available in macOS 12.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
 80 |         var copy = self
 81 |         copy.orderings = [Self.ordering(keyPath, { $0[keyPath: keyPath].nilFirst }, order)]
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryQuery.swift:87:110: error: 'SortOrder' is only available in macOS 12.0 or newer
 19 | /// Filters MediaPlayer supports run inside its query; the rest run in memory. Sorting reads each
 20 | /// sort key once per element, so it stays linear in property reads on large libraries.
 21 | public struct LibraryQuery<Element: LibraryElement>: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing generic struct
 22 |     struct Clause {
 23 |         let filter: MediaQueryRequest.Filter?
    :
 85 |     /// Breaks ties in the current ordering by an optional `keyPath`. Missing values sort first in
 86 |     /// `.forward` order.
 87 |     public func then<Value: Comparable & Sendable>(by keyPath: KeyPath<Element, Value?> & Sendable, _ order: SortOrder = .forward) -> Self {
    |                 |                                                                                            `- error: 'SortOrder' is only available in macOS 12.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
 88 |         var copy = self
 89 |         copy.orderings.append(Self.ordering(keyPath, { $0[keyPath: keyPath].nilFirst }, order))
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryQuery.swift:95:80: error: 'SortOrder' is only available in macOS 12.0 or newer
 19 | /// Filters MediaPlayer supports run inside its query; the rest run in memory. Sorting reads each
 20 | /// sort key once per element, so it stays linear in property reads on large libraries.
 21 | public struct LibraryQuery<Element: LibraryElement>: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing generic struct
 22 |     struct Clause {
 23 |         let filter: MediaQueryRequest.Filter?
    :
 93 |     /// Orders results by a flag, replacing any previous ordering. `false` sorts first in
 94 |     /// `.forward` order.
 95 |     public func sorted(by keyPath: KeyPath<Element, Bool> & Sendable, _ order: SortOrder = .forward) -> Self {
    |                 |                                                              `- error: 'SortOrder' is only available in macOS 12.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
 96 |         var copy = self
 97 |         copy.orderings = [Self.ordering(keyPath, { $0[keyPath: keyPath].sortRank }, order)]
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryQuery.swift:102:78: error: 'SortOrder' is only available in macOS 12.0 or newer
 19 | /// Filters MediaPlayer supports run inside its query; the rest run in memory. Sorting reads each
 20 | /// sort key once per element, so it stays linear in property reads on large libraries.
 21 | public struct LibraryQuery<Element: LibraryElement>: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing generic struct
 22 |     struct Clause {
 23 |         let filter: MediaQueryRequest.Filter?
    :
100 |
101 |     /// Breaks ties in the current ordering by a flag. `false` sorts first in `.forward` order.
102 |     public func then(by keyPath: KeyPath<Element, Bool> & Sendable, _ order: SortOrder = .forward) -> Self {
    |                 |                                                            `- error: 'SortOrder' is only available in macOS 12.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
103 |         var copy = self
104 |         copy.orderings.append(Self.ordering(keyPath, { $0[keyPath: keyPath].sortRank }, order))
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryQuery.swift:166:18: error: 'SortOrder' is only available in macOS 12.0 or newer
 19 | /// Filters MediaPlayer supports run inside its query; the rest run in memory. Sorting reads each
 20 | /// sort key once per element, so it stays linear in property reads on large libraries.
 21 | public struct LibraryQuery<Element: LibraryElement>: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing generic struct
 22 |     struct Clause {
 23 |         let filter: MediaQueryRequest.Filter?
    :
161 |     }
162 |
163 |     private static func ordering<Value: Comparable & Sendable>(
    |                         `- note: add '@available' attribute to enclosing static method
164 |         _ keyPath: some Hashable & Sendable,
165 |         _ key: @escaping @Sendable (Element) -> Value,
166 |         _ order: SortOrder
    |                  `- error: 'SortOrder' is only available in macOS 12.0 or newer
167 |     ) -> Ordering {
168 |         Ordering(identity: Identity(keyPath: keyPath, detail: "\(order)")) { elements in
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:47:40: error: 'MPMediaItem' is unavailable in macOS
45 |
46 | extension MediaSection where Element == MPMediaItem {
47 |     static func alphabetical(_ items: [MPMediaItem], grouping: MPMediaGrouping) -> [MediaSection] {
   |                                        `- error: 'MPMediaItem' is unavailable in macOS
48 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
49 |         return alphabetical(items) { $0.value(forProperty: property) as? String }
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItem.h:42:12: note: 'MPMediaItem' has been explicitly marked unavailable here
 40 | MP_API(ios(3.0), tvos(14.0))
 41 | API_UNAVAILABLE(watchos, macos)
 42 | @interface MPMediaItem : MPMediaEntity
    |            `- note: 'MPMediaItem' has been explicitly marked unavailable here
 43 |
 44 | #pragma mark - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:47:64: error: 'MPMediaGrouping' is unavailable in macOS
45 |
46 | extension MediaSection where Element == MPMediaItem {
47 |     static func alphabetical(_ items: [MPMediaItem], grouping: MPMediaGrouping) -> [MediaSection] {
   |                                                                `- error: 'MPMediaGrouping' is unavailable in macOS
48 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
49 |         return alphabetical(items) { $0.value(forProperty: property) as? String }
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:18:28: note: 'MPMediaGrouping' has been explicitly marked unavailable here
 16 | @class MPMediaQuerySection;
 17 |
 18 | typedef NS_ENUM(NSInteger, MPMediaGrouping) {
    |                            `- note: 'MPMediaGrouping' has been explicitly marked unavailable here
 19 |     MPMediaGroupingTitle,
 20 |     MPMediaGroupingAlbum,
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:46:41: error: 'MPMediaItem' is unavailable in macOS
44 | }
45 |
46 | extension MediaSection where Element == MPMediaItem {
   |                                         `- error: 'MPMediaItem' is unavailable in macOS
47 |     static func alphabetical(_ items: [MPMediaItem], grouping: MPMediaGrouping) -> [MediaSection] {
48 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItem.h:42:12: note: 'MPMediaItem' has been explicitly marked unavailable here
 40 | MP_API(ios(3.0), tvos(14.0))
 41 | API_UNAVAILABLE(watchos, macos)
 42 | @interface MPMediaItem : MPMediaEntity
    |            `- note: 'MPMediaItem' has been explicitly marked unavailable here
 43 |
 44 | #pragma mark - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:54:46: error: 'MPMediaItemCollection' is unavailable in macOS
52 |
53 | extension MediaSection where Element == MPMediaItemCollection {
54 |     static func alphabetical(_ collections: [MPMediaItemCollection], grouping: MPMediaGrouping) -> [MediaSection] {
   |                                              `- error: 'MPMediaItemCollection' is unavailable in macOS
55 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
56 |         return alphabetical(collections) { collection in
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItemCollection.h:19:12: note: 'MPMediaItemCollection' has been explicitly marked unavailable here
17 | MP_API(ios(3.0))
18 | API_UNAVAILABLE(tvos, watchos, macos)
19 | @interface MPMediaItemCollection : MPMediaEntity
   |            `- note: 'MPMediaItemCollection' has been explicitly marked unavailable here
20 |
21 | // Creates a media item collection by copying an array of MPMediaItems.
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:54:80: error: 'MPMediaGrouping' is unavailable in macOS
52 |
53 | extension MediaSection where Element == MPMediaItemCollection {
54 |     static func alphabetical(_ collections: [MPMediaItemCollection], grouping: MPMediaGrouping) -> [MediaSection] {
   |                                                                                `- error: 'MPMediaGrouping' is unavailable in macOS
55 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
56 |         return alphabetical(collections) { collection in
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:18:28: note: 'MPMediaGrouping' has been explicitly marked unavailable here
 16 | @class MPMediaQuerySection;
 17 |
 18 | typedef NS_ENUM(NSInteger, MPMediaGrouping) {
    |                            `- note: 'MPMediaGrouping' has been explicitly marked unavailable here
 19 |     MPMediaGroupingTitle,
 20 |     MPMediaGroupingAlbum,
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:53:41: error: 'MPMediaItemCollection' is unavailable in macOS
51 | }
52 |
53 | extension MediaSection where Element == MPMediaItemCollection {
   |                                         `- error: 'MPMediaItemCollection' is unavailable in macOS
54 |     static func alphabetical(_ collections: [MPMediaItemCollection], grouping: MPMediaGrouping) -> [MediaSection] {
55 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItemCollection.h:19:12: note: 'MPMediaItemCollection' has been explicitly marked unavailable here
17 | MP_API(ios(3.0))
18 | API_UNAVAILABLE(tvos, watchos, macos)
19 | @interface MPMediaItemCollection : MPMediaEntity
   |            `- note: 'MPMediaItemCollection' has been explicitly marked unavailable here
20 |
21 | // Creates a media item collection by copying an array of MPMediaItems.
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:48:24: error: 'MPMediaItem' is unavailable in macOS
46 | extension MediaSection where Element == MPMediaItem {
47 |     static func alphabetical(_ items: [MPMediaItem], grouping: MPMediaGrouping) -> [MediaSection] {
48 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
   |                        `- error: 'MPMediaItem' is unavailable in macOS
49 |         return alphabetical(items) { $0.value(forProperty: property) as? String }
50 |     }
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItem.h:42:12: note: 'MPMediaItem' has been explicitly marked unavailable here
 40 | MP_API(ios(3.0), tvos(14.0))
 41 | API_UNAVAILABLE(watchos, macos)
 42 | @interface MPMediaItem : MPMediaEntity
    |            `- note: 'MPMediaItem' has been explicitly marked unavailable here
 43 |
 44 | #pragma mark - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:48:36: error: 'titleProperty(forGroupingType:)' is unavailable in macOS
46 | extension MediaSection where Element == MPMediaItem {
47 |     static func alphabetical(_ items: [MPMediaItem], grouping: MPMediaGrouping) -> [MediaSection] {
48 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
   |                                    `- error: 'titleProperty(forGroupingType:)' is unavailable in macOS
49 |         return alphabetical(items) { $0.value(forProperty: property) as? String }
50 |     }
MediaPlayer.MPMediaItem.titleProperty:3:19: note: 'titleProperty(forGroupingType:)' has been explicitly marked unavailable here
1 | class MPMediaItem {
2 | @available(macOS, unavailable)
3 |   open class func titleProperty(forGroupingType groupingType: MPMediaGrouping) -> String}
  |                   `- note: 'titleProperty(forGroupingType:)' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:55:24: error: 'MPMediaItem' is unavailable in macOS
53 | extension MediaSection where Element == MPMediaItemCollection {
54 |     static func alphabetical(_ collections: [MPMediaItemCollection], grouping: MPMediaGrouping) -> [MediaSection] {
55 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
   |                        `- error: 'MPMediaItem' is unavailable in macOS
56 |         return alphabetical(collections) { collection in
57 |             (collection as? MPMediaPlaylist)?.name
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItem.h:42:12: note: 'MPMediaItem' has been explicitly marked unavailable here
 40 | MP_API(ios(3.0), tvos(14.0))
 41 | API_UNAVAILABLE(watchos, macos)
 42 | @interface MPMediaItem : MPMediaEntity
    |            `- note: 'MPMediaItem' has been explicitly marked unavailable here
 43 |
 44 | #pragma mark - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:55:36: error: 'titleProperty(forGroupingType:)' is unavailable in macOS
53 | extension MediaSection where Element == MPMediaItemCollection {
54 |     static func alphabetical(_ collections: [MPMediaItemCollection], grouping: MPMediaGrouping) -> [MediaSection] {
55 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
   |                                    `- error: 'titleProperty(forGroupingType:)' is unavailable in macOS
56 |         return alphabetical(collections) { collection in
57 |             (collection as? MPMediaPlaylist)?.name
MediaPlayer.MPMediaItem.titleProperty:3:19: note: 'titleProperty(forGroupingType:)' has been explicitly marked unavailable here
1 | class MPMediaItem {
2 | @available(macOS, unavailable)
3 |   open class func titleProperty(forGroupingType groupingType: MPMediaGrouping) -> String}
  |                   `- note: 'titleProperty(forGroupingType:)' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:57:29: error: 'MPMediaPlaylist' is unavailable in macOS
55 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
56 |         return alphabetical(collections) { collection in
57 |             (collection as? MPMediaPlaylist)?.name
   |                             `- error: 'MPMediaPlaylist' is unavailable in macOS
58 |                 ?? collection.representativeItem?.value(forProperty: property) as? String
59 |         }
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaPlaylist.h:28:12: note: 'MPMediaPlaylist' has been explicitly marked unavailable here
26 | MP_API(ios(3.0))
27 | API_UNAVAILABLE(tvos, watchos, macos)
28 | @interface MPMediaPlaylist : MPMediaItemCollection
   |            `- note: 'MPMediaPlaylist' has been explicitly marked unavailable here
29 |
30 | #pragma mark - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaItemPredicateInfo.swift:84:29: error: 'MPMediaPlaylistAttribute' is unavailable in macOS
 82 |
 83 |     /// Filter playlists by attributes, such as `.smart` or `.genius`.
 84 |     case playlistAttributes(MPMediaPlaylistAttribute)
    |                             `- error: 'MPMediaPlaylistAttribute' is unavailable in macOS
 85 |
 86 |     /// Filter playlists by their iCloud Music Library identifier.
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaPlaylist.h:17:32: note: 'MPMediaPlaylistAttribute' has been explicitly marked unavailable here
15 |
16 | // A playlist may have any number of MPMediaPlaylistAttributes associated.
17 | typedef NS_OPTIONS(NSUInteger, MPMediaPlaylistAttribute) {
   |                                `- note: 'MPMediaPlaylistAttribute' has been explicitly marked unavailable here
18 |     MPMediaPlaylistAttributeNone    = 0,
19 |     MPMediaPlaylistAttributeOnTheGo = (1 << 0), // if set, the playlist was created on a device rather than synced from iTunes
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaItemPredicateInfo.swift:104:31: error: 'MPMediaPredicateComparison' is unavailable in macOS
102 |     /// ```
103 |     public func predicate(
104 |         using comparisonType: MPMediaPredicateComparison = .equalTo
    |                               `- error: 'MPMediaPredicateComparison' is unavailable in macOS
105 |     ) -> MPMediaPropertyPredicate {
106 |         MPMediaPropertyPredicate(
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:82:28: note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 80 | // See MPMediaItem.h and MPMediaPlaylist.h for a list of properties.
 81 |
 82 | typedef NS_ENUM(NSInteger, MPMediaPredicateComparison) {
    |                            `- note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 83 |     MPMediaPredicateComparisonEqualTo,
 84 |     MPMediaPredicateComparisonContains
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaItemPredicateInfo.swift:105:10: error: 'MPMediaPropertyPredicate' is unavailable in macOS
103 |     public func predicate(
104 |         using comparisonType: MPMediaPredicateComparison = .equalTo
105 |     ) -> MPMediaPropertyPredicate {
    |          `- error: 'MPMediaPropertyPredicate' is unavailable in macOS
106 |         MPMediaPropertyPredicate(
107 |             value: value,
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:89:12: note: 'MPMediaPropertyPredicate' has been explicitly marked unavailable here
 87 | MP_API(ios(3.0))
 88 | API_UNAVAILABLE(tvos, watchos, macos)
 89 | @interface MPMediaPropertyPredicate : MPMediaPredicate
    |            `- note: 'MPMediaPropertyPredicate' has been explicitly marked unavailable here
 90 |
 91 | + (MPMediaPropertyPredicate *)predicateWithValue:(nullable id)value forProperty:(NSString *)property; // comparisonType is MPMediaPredicateComparisonEqualTo
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaItemPredicateInfo.swift:118:28: error: 'MPMediaEntity' is unavailable in macOS
116 |
117 |     // Approximates MediaPlayer's matching: strings compare case-insensitively, numbers by value.
118 |     func matches(_ entity: MPMediaEntity, using comparison: MPMediaPredicateComparison) -> Bool {
    |                            `- error: 'MPMediaEntity' is unavailable in macOS
119 |         switch (value, entity.value(forProperty: property)) {
120 |         case let (expected as String, actual as String):
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaEntity.h:22:12: note: 'MPMediaEntity' has been explicitly marked unavailable here
20 | MP_API(ios(4.2), tvos(14.0))
21 | API_UNAVAILABLE(watchos, macos)
22 | @interface MPMediaEntity : NSObject <NSSecureCoding>
   |            `- note: 'MPMediaEntity' has been explicitly marked unavailable here
23 |
24 | // Returns YES for properties which can be used to construct MPMediaPropertyPredicates.
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaItemPredicateInfo.swift:118:61: error: 'MPMediaPredicateComparison' is unavailable in macOS
116 |
117 |     // Approximates MediaPlayer's matching: strings compare case-insensitively, numbers by value.
118 |     func matches(_ entity: MPMediaEntity, using comparison: MPMediaPredicateComparison) -> Bool {
    |                                                             `- error: 'MPMediaPredicateComparison' is unavailable in macOS
119 |         switch (value, entity.value(forProperty: property)) {
120 |         case let (expected as String, actual as String):
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:82:28: note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 80 | // See MPMediaItem.h and MPMediaPlaylist.h for a list of properties.
 81 |
 82 | typedef NS_ENUM(NSInteger, MPMediaPredicateComparison) {
    |                            `- note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 83 |     MPMediaPredicateComparisonEqualTo,
 84 |     MPMediaPredicateComparisonContains
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaItemPredicateInfo.swift:106:9: error: 'MPMediaPropertyPredicate' is unavailable in macOS
104 |         using comparisonType: MPMediaPredicateComparison = .equalTo
105 |     ) -> MPMediaPropertyPredicate {
106 |         MPMediaPropertyPredicate(
    |         `- error: 'MPMediaPropertyPredicate' is unavailable in macOS
107 |             value: value,
108 |             forProperty: property,
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:89:12: note: 'MPMediaPropertyPredicate' has been explicitly marked unavailable here
 87 | MP_API(ios(3.0))
 88 | API_UNAVAILABLE(tvos, watchos, macos)
 89 | @interface MPMediaPropertyPredicate : MPMediaPredicate
    |            `- note: 'MPMediaPropertyPredicate' has been explicitly marked unavailable here
 90 |
 91 | + (MPMediaPropertyPredicate *)predicateWithValue:(nullable id)value forProperty:(NSString *)property; // comparisonType is MPMediaPredicateComparisonEqualTo
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaQueryProtocol.swift:34:17: error: 'MPMediaItem' is unavailable in macOS
32 |     /// Returns an array of `MPMediaItem` objects that match the query predicates,
33 |     /// or `nil` if the query has not been executed or returned no results.
34 |     var items: [MPMediaItem]? { get }
   |                 `- error: 'MPMediaItem' is unavailable in macOS
35 |
36 |     /// The media items collection matching the query criteria.
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItem.h:42:12: note: 'MPMediaItem' has been explicitly marked unavailable here
 40 | MP_API(ios(3.0), tvos(14.0))
 41 | API_UNAVAILABLE(watchos, macos)
 42 | @interface MPMediaItem : MPMediaEntity
    |            `- note: 'MPMediaItem' has been explicitly marked unavailable here
 43 |
 44 | #pragma mark - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaQueryProtocol.swift:40:23: error: 'MPMediaItemCollection' is unavailable in macOS
38 |     /// Returns an array of `MPMediaItemCollection` objects that match the query predicates,
39 |     /// or `nil` if the query has not been executed or returned no results.
40 |     var collections: [MPMediaItemCollection]? { get }
   |                       `- error: 'MPMediaItemCollection' is unavailable in macOS
41 |
42 |     /// The grouping type used to organize query results.
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItemCollection.h:19:12: note: 'MPMediaItemCollection' has been explicitly marked unavailable here
17 | MP_API(ios(3.0))
18 | API_UNAVAILABLE(tvos, watchos, macos)
19 | @interface MPMediaItemCollection : MPMediaEntity
   |            `- note: 'MPMediaItemCollection' has been explicitly marked unavailable here
20 |
21 | // Creates a media item collection by copying an array of MPMediaItems.
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaQueryProtocol.swift:46:23: error: 'MPMediaGrouping' is unavailable in macOS
44 |     /// Controls how the media items are grouped in the results. Can be modified
45 |     /// to change the organization of items returned by the query.
46 |     var groupingType: MPMediaGrouping { get set }
   |                       `- error: 'MPMediaGrouping' is unavailable in macOS
47 |
48 |     /// Initializes a query with optional filter predicates.
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:18:28: note: 'MPMediaGrouping' has been explicitly marked unavailable here
 16 | @class MPMediaQuerySection;
 17 |
 18 | typedef NS_ENUM(NSInteger, MPMediaGrouping) {
    |                            `- note: 'MPMediaGrouping' has been explicitly marked unavailable here
 19 |     MPMediaGroupingTitle,
 20 |     MPMediaGroupingAlbum,
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaQueryProtocol.swift:53:32: error: 'MPMediaPredicate' is unavailable in macOS
51 |     ///   - filterPredicates: A set of `MPMediaPredicate` objects that define the filtering criteria for the query.
52 |     ///                      Pass `nil` to fetch all available media items without filtering.
53 |     init(filterPredicates: Set<MPMediaPredicate>?)
   |                                `- error: 'MPMediaPredicate' is unavailable in macOS
54 |
55 |     /// Index section titles and the ranges of ``items`` they cover, or `nil` when the query doesn't
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:75:12: note: 'MPMediaPredicate' has been explicitly marked unavailable here
 73 | MP_API(ios(3.0))
 74 | API_UNAVAILABLE(tvos, watchos, macos)
 75 | @interface MPMediaPredicate : NSObject <NSSecureCoding> {}
    |            `- note: 'MPMediaPredicate' has been explicitly marked unavailable here
 76 | @end
 77 |
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaQueryProtocol.swift:69:11: error: 'MPMediaQuery' is unavailable in macOS
67 | }
68 |
69 | extension MPMediaQuery: MediaQueryProtocol {
   |           `- error: 'MPMediaQuery' is unavailable in macOS
70 |     public var itemSectionRanges: [(title: String, range: Range<Int>)]? {
71 |         itemSections?.compactMap { section in Range(section.range).map { (section.title, $0) } }
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:32:12: note: 'MPMediaQuery' has been explicitly marked unavailable here
 30 | MP_API(ios(3.0))
 31 | API_UNAVAILABLE(tvos, watchos, macos)
 32 | @interface MPMediaQuery : NSObject <NSSecureCoding, NSCopying>
    |            `- note: 'MPMediaQuery' has been explicitly marked unavailable here
 33 |
 34 | - (instancetype)initWithFilterPredicates:(nullable NSSet<MPMediaPredicate *> *)filterPredicates NS_DESIGNATED_INITIALIZER;
[50/51] Compiling MediaBridge MediaItemPredicateInfo.swift
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryQuery.swift:64:111: error: 'SortOrder' is only available in macOS 12.0 or newer
 19 | /// Filters MediaPlayer supports run inside its query; the rest run in memory. Sorting reads each
 20 | /// sort key once per element, so it stays linear in property reads on large libraries.
 21 | public struct LibraryQuery<Element: LibraryElement>: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing generic struct
 22 |     struct Clause {
 23 |         let filter: MediaQueryRequest.Filter?
    :
 62 |
 63 |     /// Orders results by `keyPath`, replacing any previous ordering.
 64 |     public func sorted<Value: Comparable & Sendable>(by keyPath: KeyPath<Element, Value> & Sendable, _ order: SortOrder = .forward) -> Self {
    |                 |                                                                                             `- error: 'SortOrder' is only available in macOS 12.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
 65 |         var copy = self
 66 |         copy.orderings = [Self.ordering(keyPath, { $0[keyPath: keyPath] }, order)]
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryQuery.swift:71:109: error: 'SortOrder' is only available in macOS 12.0 or newer
 19 | /// Filters MediaPlayer supports run inside its query; the rest run in memory. Sorting reads each
 20 | /// sort key once per element, so it stays linear in property reads on large libraries.
 21 | public struct LibraryQuery<Element: LibraryElement>: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing generic struct
 22 |     struct Clause {
 23 |         let filter: MediaQueryRequest.Filter?
    :
 69 |
 70 |     /// Breaks ties in the current ordering by `keyPath`.
 71 |     public func then<Value: Comparable & Sendable>(by keyPath: KeyPath<Element, Value> & Sendable, _ order: SortOrder = .forward) -> Self {
    |                 |                                                                                           `- error: 'SortOrder' is only available in macOS 12.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
 72 |         var copy = self
 73 |         copy.orderings.append(Self.ordering(keyPath, { $0[keyPath: keyPath] }, order))
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryQuery.swift:79:112: error: 'SortOrder' is only available in macOS 12.0 or newer
 19 | /// Filters MediaPlayer supports run inside its query; the rest run in memory. Sorting reads each
 20 | /// sort key once per element, so it stays linear in property reads on large libraries.
 21 | public struct LibraryQuery<Element: LibraryElement>: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing generic struct
 22 |     struct Clause {
 23 |         let filter: MediaQueryRequest.Filter?
    :
 77 |     /// Orders results by an optional `keyPath`, replacing any previous ordering. Missing values
 78 |     /// sort first in `.forward` order.
 79 |     public func sorted<Value: Comparable & Sendable>(by keyPath: KeyPath<Element, Value?> & Sendable, _ order: SortOrder = .forward) -> Self {
    |                 |                                                                                              `- error: 'SortOrder' is only available in macOS 12.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
 80 |         var copy = self
 81 |         copy.orderings = [Self.ordering(keyPath, { $0[keyPath: keyPath].nilFirst }, order)]
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryQuery.swift:87:110: error: 'SortOrder' is only available in macOS 12.0 or newer
 19 | /// Filters MediaPlayer supports run inside its query; the rest run in memory. Sorting reads each
 20 | /// sort key once per element, so it stays linear in property reads on large libraries.
 21 | public struct LibraryQuery<Element: LibraryElement>: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing generic struct
 22 |     struct Clause {
 23 |         let filter: MediaQueryRequest.Filter?
    :
 85 |     /// Breaks ties in the current ordering by an optional `keyPath`. Missing values sort first in
 86 |     /// `.forward` order.
 87 |     public func then<Value: Comparable & Sendable>(by keyPath: KeyPath<Element, Value?> & Sendable, _ order: SortOrder = .forward) -> Self {
    |                 |                                                                                            `- error: 'SortOrder' is only available in macOS 12.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
 88 |         var copy = self
 89 |         copy.orderings.append(Self.ordering(keyPath, { $0[keyPath: keyPath].nilFirst }, order))
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryQuery.swift:95:80: error: 'SortOrder' is only available in macOS 12.0 or newer
 19 | /// Filters MediaPlayer supports run inside its query; the rest run in memory. Sorting reads each
 20 | /// sort key once per element, so it stays linear in property reads on large libraries.
 21 | public struct LibraryQuery<Element: LibraryElement>: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing generic struct
 22 |     struct Clause {
 23 |         let filter: MediaQueryRequest.Filter?
    :
 93 |     /// Orders results by a flag, replacing any previous ordering. `false` sorts first in
 94 |     /// `.forward` order.
 95 |     public func sorted(by keyPath: KeyPath<Element, Bool> & Sendable, _ order: SortOrder = .forward) -> Self {
    |                 |                                                              `- error: 'SortOrder' is only available in macOS 12.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
 96 |         var copy = self
 97 |         copy.orderings = [Self.ordering(keyPath, { $0[keyPath: keyPath].sortRank }, order)]
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryQuery.swift:102:78: error: 'SortOrder' is only available in macOS 12.0 or newer
 19 | /// Filters MediaPlayer supports run inside its query; the rest run in memory. Sorting reads each
 20 | /// sort key once per element, so it stays linear in property reads on large libraries.
 21 | public struct LibraryQuery<Element: LibraryElement>: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing generic struct
 22 |     struct Clause {
 23 |         let filter: MediaQueryRequest.Filter?
    :
100 |
101 |     /// Breaks ties in the current ordering by a flag. `false` sorts first in `.forward` order.
102 |     public func then(by keyPath: KeyPath<Element, Bool> & Sendable, _ order: SortOrder = .forward) -> Self {
    |                 |                                                            `- error: 'SortOrder' is only available in macOS 12.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
103 |         var copy = self
104 |         copy.orderings.append(Self.ordering(keyPath, { $0[keyPath: keyPath].sortRank }, order))
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryQuery.swift:166:18: error: 'SortOrder' is only available in macOS 12.0 or newer
 19 | /// Filters MediaPlayer supports run inside its query; the rest run in memory. Sorting reads each
 20 | /// sort key once per element, so it stays linear in property reads on large libraries.
 21 | public struct LibraryQuery<Element: LibraryElement>: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing generic struct
 22 |     struct Clause {
 23 |         let filter: MediaQueryRequest.Filter?
    :
161 |     }
162 |
163 |     private static func ordering<Value: Comparable & Sendable>(
    |                         `- note: add '@available' attribute to enclosing static method
164 |         _ keyPath: some Hashable & Sendable,
165 |         _ key: @escaping @Sendable (Element) -> Value,
166 |         _ order: SortOrder
    |                  `- error: 'SortOrder' is only available in macOS 12.0 or newer
167 |     ) -> Ordering {
168 |         Ordering(identity: Identity(keyPath: keyPath, detail: "\(order)")) { elements in
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:47:40: error: 'MPMediaItem' is unavailable in macOS
45 |
46 | extension MediaSection where Element == MPMediaItem {
47 |     static func alphabetical(_ items: [MPMediaItem], grouping: MPMediaGrouping) -> [MediaSection] {
   |                                        `- error: 'MPMediaItem' is unavailable in macOS
48 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
49 |         return alphabetical(items) { $0.value(forProperty: property) as? String }
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItem.h:42:12: note: 'MPMediaItem' has been explicitly marked unavailable here
 40 | MP_API(ios(3.0), tvos(14.0))
 41 | API_UNAVAILABLE(watchos, macos)
 42 | @interface MPMediaItem : MPMediaEntity
    |            `- note: 'MPMediaItem' has been explicitly marked unavailable here
 43 |
 44 | #pragma mark - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:47:64: error: 'MPMediaGrouping' is unavailable in macOS
45 |
46 | extension MediaSection where Element == MPMediaItem {
47 |     static func alphabetical(_ items: [MPMediaItem], grouping: MPMediaGrouping) -> [MediaSection] {
   |                                                                `- error: 'MPMediaGrouping' is unavailable in macOS
48 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
49 |         return alphabetical(items) { $0.value(forProperty: property) as? String }
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:18:28: note: 'MPMediaGrouping' has been explicitly marked unavailable here
 16 | @class MPMediaQuerySection;
 17 |
 18 | typedef NS_ENUM(NSInteger, MPMediaGrouping) {
    |                            `- note: 'MPMediaGrouping' has been explicitly marked unavailable here
 19 |     MPMediaGroupingTitle,
 20 |     MPMediaGroupingAlbum,
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:46:41: error: 'MPMediaItem' is unavailable in macOS
44 | }
45 |
46 | extension MediaSection where Element == MPMediaItem {
   |                                         `- error: 'MPMediaItem' is unavailable in macOS
47 |     static func alphabetical(_ items: [MPMediaItem], grouping: MPMediaGrouping) -> [MediaSection] {
48 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItem.h:42:12: note: 'MPMediaItem' has been explicitly marked unavailable here
 40 | MP_API(ios(3.0), tvos(14.0))
 41 | API_UNAVAILABLE(watchos, macos)
 42 | @interface MPMediaItem : MPMediaEntity
    |            `- note: 'MPMediaItem' has been explicitly marked unavailable here
 43 |
 44 | #pragma mark - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:54:46: error: 'MPMediaItemCollection' is unavailable in macOS
52 |
53 | extension MediaSection where Element == MPMediaItemCollection {
54 |     static func alphabetical(_ collections: [MPMediaItemCollection], grouping: MPMediaGrouping) -> [MediaSection] {
   |                                              `- error: 'MPMediaItemCollection' is unavailable in macOS
55 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
56 |         return alphabetical(collections) { collection in
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItemCollection.h:19:12: note: 'MPMediaItemCollection' has been explicitly marked unavailable here
17 | MP_API(ios(3.0))
18 | API_UNAVAILABLE(tvos, watchos, macos)
19 | @interface MPMediaItemCollection : MPMediaEntity
   |            `- note: 'MPMediaItemCollection' has been explicitly marked unavailable here
20 |
21 | // Creates a media item collection by copying an array of MPMediaItems.
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:54:80: error: 'MPMediaGrouping' is unavailable in macOS
52 |
53 | extension MediaSection where Element == MPMediaItemCollection {
54 |     static func alphabetical(_ collections: [MPMediaItemCollection], grouping: MPMediaGrouping) -> [MediaSection] {
   |                                                                                `- error: 'MPMediaGrouping' is unavailable in macOS
55 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
56 |         return alphabetical(collections) { collection in
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:18:28: note: 'MPMediaGrouping' has been explicitly marked unavailable here
 16 | @class MPMediaQuerySection;
 17 |
 18 | typedef NS_ENUM(NSInteger, MPMediaGrouping) {
    |                            `- note: 'MPMediaGrouping' has been explicitly marked unavailable here
 19 |     MPMediaGroupingTitle,
 20 |     MPMediaGroupingAlbum,
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:53:41: error: 'MPMediaItemCollection' is unavailable in macOS
51 | }
52 |
53 | extension MediaSection where Element == MPMediaItemCollection {
   |                                         `- error: 'MPMediaItemCollection' is unavailable in macOS
54 |     static func alphabetical(_ collections: [MPMediaItemCollection], grouping: MPMediaGrouping) -> [MediaSection] {
55 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItemCollection.h:19:12: note: 'MPMediaItemCollection' has been explicitly marked unavailable here
17 | MP_API(ios(3.0))
18 | API_UNAVAILABLE(tvos, watchos, macos)
19 | @interface MPMediaItemCollection : MPMediaEntity
   |            `- note: 'MPMediaItemCollection' has been explicitly marked unavailable here
20 |
21 | // Creates a media item collection by copying an array of MPMediaItems.
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:48:24: error: 'MPMediaItem' is unavailable in macOS
46 | extension MediaSection where Element == MPMediaItem {
47 |     static func alphabetical(_ items: [MPMediaItem], grouping: MPMediaGrouping) -> [MediaSection] {
48 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
   |                        `- error: 'MPMediaItem' is unavailable in macOS
49 |         return alphabetical(items) { $0.value(forProperty: property) as? String }
50 |     }
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItem.h:42:12: note: 'MPMediaItem' has been explicitly marked unavailable here
 40 | MP_API(ios(3.0), tvos(14.0))
 41 | API_UNAVAILABLE(watchos, macos)
 42 | @interface MPMediaItem : MPMediaEntity
    |            `- note: 'MPMediaItem' has been explicitly marked unavailable here
 43 |
 44 | #pragma mark - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:48:36: error: 'titleProperty(forGroupingType:)' is unavailable in macOS
46 | extension MediaSection where Element == MPMediaItem {
47 |     static func alphabetical(_ items: [MPMediaItem], grouping: MPMediaGrouping) -> [MediaSection] {
48 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
   |                                    `- error: 'titleProperty(forGroupingType:)' is unavailable in macOS
49 |         return alphabetical(items) { $0.value(forProperty: property) as? String }
50 |     }
MediaPlayer.MPMediaItem.titleProperty:3:19: note: 'titleProperty(forGroupingType:)' has been explicitly marked unavailable here
1 | class MPMediaItem {
2 | @available(macOS, unavailable)
3 |   open class func titleProperty(forGroupingType groupingType: MPMediaGrouping) -> String}
  |                   `- note: 'titleProperty(forGroupingType:)' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:55:24: error: 'MPMediaItem' is unavailable in macOS
53 | extension MediaSection where Element == MPMediaItemCollection {
54 |     static func alphabetical(_ collections: [MPMediaItemCollection], grouping: MPMediaGrouping) -> [MediaSection] {
55 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
   |                        `- error: 'MPMediaItem' is unavailable in macOS
56 |         return alphabetical(collections) { collection in
57 |             (collection as? MPMediaPlaylist)?.name
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItem.h:42:12: note: 'MPMediaItem' has been explicitly marked unavailable here
 40 | MP_API(ios(3.0), tvos(14.0))
 41 | API_UNAVAILABLE(watchos, macos)
 42 | @interface MPMediaItem : MPMediaEntity
    |            `- note: 'MPMediaItem' has been explicitly marked unavailable here
 43 |
 44 | #pragma mark - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:55:36: error: 'titleProperty(forGroupingType:)' is unavailable in macOS
53 | extension MediaSection where Element == MPMediaItemCollection {
54 |     static func alphabetical(_ collections: [MPMediaItemCollection], grouping: MPMediaGrouping) -> [MediaSection] {
55 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
   |                                    `- error: 'titleProperty(forGroupingType:)' is unavailable in macOS
56 |         return alphabetical(collections) { collection in
57 |             (collection as? MPMediaPlaylist)?.name
MediaPlayer.MPMediaItem.titleProperty:3:19: note: 'titleProperty(forGroupingType:)' has been explicitly marked unavailable here
1 | class MPMediaItem {
2 | @available(macOS, unavailable)
3 |   open class func titleProperty(forGroupingType groupingType: MPMediaGrouping) -> String}
  |                   `- note: 'titleProperty(forGroupingType:)' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:57:29: error: 'MPMediaPlaylist' is unavailable in macOS
55 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
56 |         return alphabetical(collections) { collection in
57 |             (collection as? MPMediaPlaylist)?.name
   |                             `- error: 'MPMediaPlaylist' is unavailable in macOS
58 |                 ?? collection.representativeItem?.value(forProperty: property) as? String
59 |         }
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaPlaylist.h:28:12: note: 'MPMediaPlaylist' has been explicitly marked unavailable here
26 | MP_API(ios(3.0))
27 | API_UNAVAILABLE(tvos, watchos, macos)
28 | @interface MPMediaPlaylist : MPMediaItemCollection
   |            `- note: 'MPMediaPlaylist' has been explicitly marked unavailable here
29 |
30 | #pragma mark - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaItemPredicateInfo.swift:84:29: error: 'MPMediaPlaylistAttribute' is unavailable in macOS
 82 |
 83 |     /// Filter playlists by attributes, such as `.smart` or `.genius`.
 84 |     case playlistAttributes(MPMediaPlaylistAttribute)
    |                             `- error: 'MPMediaPlaylistAttribute' is unavailable in macOS
 85 |
 86 |     /// Filter playlists by their iCloud Music Library identifier.
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaPlaylist.h:17:32: note: 'MPMediaPlaylistAttribute' has been explicitly marked unavailable here
15 |
16 | // A playlist may have any number of MPMediaPlaylistAttributes associated.
17 | typedef NS_OPTIONS(NSUInteger, MPMediaPlaylistAttribute) {
   |                                `- note: 'MPMediaPlaylistAttribute' has been explicitly marked unavailable here
18 |     MPMediaPlaylistAttributeNone    = 0,
19 |     MPMediaPlaylistAttributeOnTheGo = (1 << 0), // if set, the playlist was created on a device rather than synced from iTunes
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaItemPredicateInfo.swift:104:31: error: 'MPMediaPredicateComparison' is unavailable in macOS
102 |     /// ```
103 |     public func predicate(
104 |         using comparisonType: MPMediaPredicateComparison = .equalTo
    |                               `- error: 'MPMediaPredicateComparison' is unavailable in macOS
105 |     ) -> MPMediaPropertyPredicate {
106 |         MPMediaPropertyPredicate(
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:82:28: note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 80 | // See MPMediaItem.h and MPMediaPlaylist.h for a list of properties.
 81 |
 82 | typedef NS_ENUM(NSInteger, MPMediaPredicateComparison) {
    |                            `- note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 83 |     MPMediaPredicateComparisonEqualTo,
 84 |     MPMediaPredicateComparisonContains
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaItemPredicateInfo.swift:105:10: error: 'MPMediaPropertyPredicate' is unavailable in macOS
103 |     public func predicate(
104 |         using comparisonType: MPMediaPredicateComparison = .equalTo
105 |     ) -> MPMediaPropertyPredicate {
    |          `- error: 'MPMediaPropertyPredicate' is unavailable in macOS
106 |         MPMediaPropertyPredicate(
107 |             value: value,
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:89:12: note: 'MPMediaPropertyPredicate' has been explicitly marked unavailable here
 87 | MP_API(ios(3.0))
 88 | API_UNAVAILABLE(tvos, watchos, macos)
 89 | @interface MPMediaPropertyPredicate : MPMediaPredicate
    |            `- note: 'MPMediaPropertyPredicate' has been explicitly marked unavailable here
 90 |
 91 | + (MPMediaPropertyPredicate *)predicateWithValue:(nullable id)value forProperty:(NSString *)property; // comparisonType is MPMediaPredicateComparisonEqualTo
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaItemPredicateInfo.swift:118:28: error: 'MPMediaEntity' is unavailable in macOS
116 |
117 |     // Approximates MediaPlayer's matching: strings compare case-insensitively, numbers by value.
118 |     func matches(_ entity: MPMediaEntity, using comparison: MPMediaPredicateComparison) -> Bool {
    |                            `- error: 'MPMediaEntity' is unavailable in macOS
119 |         switch (value, entity.value(forProperty: property)) {
120 |         case let (expected as String, actual as String):
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaEntity.h:22:12: note: 'MPMediaEntity' has been explicitly marked unavailable here
20 | MP_API(ios(4.2), tvos(14.0))
21 | API_UNAVAILABLE(watchos, macos)
22 | @interface MPMediaEntity : NSObject <NSSecureCoding>
   |            `- note: 'MPMediaEntity' has been explicitly marked unavailable here
23 |
24 | // Returns YES for properties which can be used to construct MPMediaPropertyPredicates.
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaItemPredicateInfo.swift:118:61: error: 'MPMediaPredicateComparison' is unavailable in macOS
116 |
117 |     // Approximates MediaPlayer's matching: strings compare case-insensitively, numbers by value.
118 |     func matches(_ entity: MPMediaEntity, using comparison: MPMediaPredicateComparison) -> Bool {
    |                                                             `- error: 'MPMediaPredicateComparison' is unavailable in macOS
119 |         switch (value, entity.value(forProperty: property)) {
120 |         case let (expected as String, actual as String):
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:82:28: note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 80 | // See MPMediaItem.h and MPMediaPlaylist.h for a list of properties.
 81 |
 82 | typedef NS_ENUM(NSInteger, MPMediaPredicateComparison) {
    |                            `- note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 83 |     MPMediaPredicateComparisonEqualTo,
 84 |     MPMediaPredicateComparisonContains
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaItemPredicateInfo.swift:106:9: error: 'MPMediaPropertyPredicate' is unavailable in macOS
104 |         using comparisonType: MPMediaPredicateComparison = .equalTo
105 |     ) -> MPMediaPropertyPredicate {
106 |         MPMediaPropertyPredicate(
    |         `- error: 'MPMediaPropertyPredicate' is unavailable in macOS
107 |             value: value,
108 |             forProperty: property,
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:89:12: note: 'MPMediaPropertyPredicate' has been explicitly marked unavailable here
 87 | MP_API(ios(3.0))
 88 | API_UNAVAILABLE(tvos, watchos, macos)
 89 | @interface MPMediaPropertyPredicate : MPMediaPredicate
    |            `- note: 'MPMediaPropertyPredicate' has been explicitly marked unavailable here
 90 |
 91 | + (MPMediaPropertyPredicate *)predicateWithValue:(nullable id)value forProperty:(NSString *)property; // comparisonType is MPMediaPredicateComparisonEqualTo
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaQueryProtocol.swift:34:17: error: 'MPMediaItem' is unavailable in macOS
32 |     /// Returns an array of `MPMediaItem` objects that match the query predicates,
33 |     /// or `nil` if the query has not been executed or returned no results.
34 |     var items: [MPMediaItem]? { get }
   |                 `- error: 'MPMediaItem' is unavailable in macOS
35 |
36 |     /// The media items collection matching the query criteria.
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItem.h:42:12: note: 'MPMediaItem' has been explicitly marked unavailable here
 40 | MP_API(ios(3.0), tvos(14.0))
 41 | API_UNAVAILABLE(watchos, macos)
 42 | @interface MPMediaItem : MPMediaEntity
    |            `- note: 'MPMediaItem' has been explicitly marked unavailable here
 43 |
 44 | #pragma mark - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaQueryProtocol.swift:40:23: error: 'MPMediaItemCollection' is unavailable in macOS
38 |     /// Returns an array of `MPMediaItemCollection` objects that match the query predicates,
39 |     /// or `nil` if the query has not been executed or returned no results.
40 |     var collections: [MPMediaItemCollection]? { get }
   |                       `- error: 'MPMediaItemCollection' is unavailable in macOS
41 |
42 |     /// The grouping type used to organize query results.
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItemCollection.h:19:12: note: 'MPMediaItemCollection' has been explicitly marked unavailable here
17 | MP_API(ios(3.0))
18 | API_UNAVAILABLE(tvos, watchos, macos)
19 | @interface MPMediaItemCollection : MPMediaEntity
   |            `- note: 'MPMediaItemCollection' has been explicitly marked unavailable here
20 |
21 | // Creates a media item collection by copying an array of MPMediaItems.
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaQueryProtocol.swift:46:23: error: 'MPMediaGrouping' is unavailable in macOS
44 |     /// Controls how the media items are grouped in the results. Can be modified
45 |     /// to change the organization of items returned by the query.
46 |     var groupingType: MPMediaGrouping { get set }
   |                       `- error: 'MPMediaGrouping' is unavailable in macOS
47 |
48 |     /// Initializes a query with optional filter predicates.
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:18:28: note: 'MPMediaGrouping' has been explicitly marked unavailable here
 16 | @class MPMediaQuerySection;
 17 |
 18 | typedef NS_ENUM(NSInteger, MPMediaGrouping) {
    |                            `- note: 'MPMediaGrouping' has been explicitly marked unavailable here
 19 |     MPMediaGroupingTitle,
 20 |     MPMediaGroupingAlbum,
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaQueryProtocol.swift:53:32: error: 'MPMediaPredicate' is unavailable in macOS
51 |     ///   - filterPredicates: A set of `MPMediaPredicate` objects that define the filtering criteria for the query.
52 |     ///                      Pass `nil` to fetch all available media items without filtering.
53 |     init(filterPredicates: Set<MPMediaPredicate>?)
   |                                `- error: 'MPMediaPredicate' is unavailable in macOS
54 |
55 |     /// Index section titles and the ranges of ``items`` they cover, or `nil` when the query doesn't
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:75:12: note: 'MPMediaPredicate' has been explicitly marked unavailable here
 73 | MP_API(ios(3.0))
 74 | API_UNAVAILABLE(tvos, watchos, macos)
 75 | @interface MPMediaPredicate : NSObject <NSSecureCoding> {}
    |            `- note: 'MPMediaPredicate' has been explicitly marked unavailable here
 76 | @end
 77 |
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaQueryProtocol.swift:69:11: error: 'MPMediaQuery' is unavailable in macOS
67 | }
68 |
69 | extension MPMediaQuery: MediaQueryProtocol {
   |           `- error: 'MPMediaQuery' is unavailable in macOS
70 |     public var itemSectionRanges: [(title: String, range: Range<Int>)]? {
71 |         itemSections?.compactMap { section in Range(section.range).map { (section.title, $0) } }
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:32:12: note: 'MPMediaQuery' has been explicitly marked unavailable here
 30 | MP_API(ios(3.0))
 31 | API_UNAVAILABLE(tvos, watchos, macos)
 32 | @interface MPMediaQuery : NSObject <NSSecureCoding, NSCopying>
    |            `- note: 'MPMediaQuery' has been explicitly marked unavailable here
 33 |
 34 | - (instancetype)initWithFilterPredicates:(nullable NSSet<MPMediaPredicate *> *)filterPredicates NS_DESIGNATED_INITIALIZER;
[51/51] Compiling MediaBridge MediaQueryProtocol.swift
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryQuery.swift:64:111: error: 'SortOrder' is only available in macOS 12.0 or newer
 19 | /// Filters MediaPlayer supports run inside its query; the rest run in memory. Sorting reads each
 20 | /// sort key once per element, so it stays linear in property reads on large libraries.
 21 | public struct LibraryQuery<Element: LibraryElement>: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing generic struct
 22 |     struct Clause {
 23 |         let filter: MediaQueryRequest.Filter?
    :
 62 |
 63 |     /// Orders results by `keyPath`, replacing any previous ordering.
 64 |     public func sorted<Value: Comparable & Sendable>(by keyPath: KeyPath<Element, Value> & Sendable, _ order: SortOrder = .forward) -> Self {
    |                 |                                                                                             `- error: 'SortOrder' is only available in macOS 12.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
 65 |         var copy = self
 66 |         copy.orderings = [Self.ordering(keyPath, { $0[keyPath: keyPath] }, order)]
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryQuery.swift:71:109: error: 'SortOrder' is only available in macOS 12.0 or newer
 19 | /// Filters MediaPlayer supports run inside its query; the rest run in memory. Sorting reads each
 20 | /// sort key once per element, so it stays linear in property reads on large libraries.
 21 | public struct LibraryQuery<Element: LibraryElement>: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing generic struct
 22 |     struct Clause {
 23 |         let filter: MediaQueryRequest.Filter?
    :
 69 |
 70 |     /// Breaks ties in the current ordering by `keyPath`.
 71 |     public func then<Value: Comparable & Sendable>(by keyPath: KeyPath<Element, Value> & Sendable, _ order: SortOrder = .forward) -> Self {
    |                 |                                                                                           `- error: 'SortOrder' is only available in macOS 12.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
 72 |         var copy = self
 73 |         copy.orderings.append(Self.ordering(keyPath, { $0[keyPath: keyPath] }, order))
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryQuery.swift:79:112: error: 'SortOrder' is only available in macOS 12.0 or newer
 19 | /// Filters MediaPlayer supports run inside its query; the rest run in memory. Sorting reads each
 20 | /// sort key once per element, so it stays linear in property reads on large libraries.
 21 | public struct LibraryQuery<Element: LibraryElement>: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing generic struct
 22 |     struct Clause {
 23 |         let filter: MediaQueryRequest.Filter?
    :
 77 |     /// Orders results by an optional `keyPath`, replacing any previous ordering. Missing values
 78 |     /// sort first in `.forward` order.
 79 |     public func sorted<Value: Comparable & Sendable>(by keyPath: KeyPath<Element, Value?> & Sendable, _ order: SortOrder = .forward) -> Self {
    |                 |                                                                                              `- error: 'SortOrder' is only available in macOS 12.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
 80 |         var copy = self
 81 |         copy.orderings = [Self.ordering(keyPath, { $0[keyPath: keyPath].nilFirst }, order)]
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryQuery.swift:87:110: error: 'SortOrder' is only available in macOS 12.0 or newer
 19 | /// Filters MediaPlayer supports run inside its query; the rest run in memory. Sorting reads each
 20 | /// sort key once per element, so it stays linear in property reads on large libraries.
 21 | public struct LibraryQuery<Element: LibraryElement>: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing generic struct
 22 |     struct Clause {
 23 |         let filter: MediaQueryRequest.Filter?
    :
 85 |     /// Breaks ties in the current ordering by an optional `keyPath`. Missing values sort first in
 86 |     /// `.forward` order.
 87 |     public func then<Value: Comparable & Sendable>(by keyPath: KeyPath<Element, Value?> & Sendable, _ order: SortOrder = .forward) -> Self {
    |                 |                                                                                            `- error: 'SortOrder' is only available in macOS 12.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
 88 |         var copy = self
 89 |         copy.orderings.append(Self.ordering(keyPath, { $0[keyPath: keyPath].nilFirst }, order))
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryQuery.swift:95:80: error: 'SortOrder' is only available in macOS 12.0 or newer
 19 | /// Filters MediaPlayer supports run inside its query; the rest run in memory. Sorting reads each
 20 | /// sort key once per element, so it stays linear in property reads on large libraries.
 21 | public struct LibraryQuery<Element: LibraryElement>: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing generic struct
 22 |     struct Clause {
 23 |         let filter: MediaQueryRequest.Filter?
    :
 93 |     /// Orders results by a flag, replacing any previous ordering. `false` sorts first in
 94 |     /// `.forward` order.
 95 |     public func sorted(by keyPath: KeyPath<Element, Bool> & Sendable, _ order: SortOrder = .forward) -> Self {
    |                 |                                                              `- error: 'SortOrder' is only available in macOS 12.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
 96 |         var copy = self
 97 |         copy.orderings = [Self.ordering(keyPath, { $0[keyPath: keyPath].sortRank }, order)]
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryQuery.swift:102:78: error: 'SortOrder' is only available in macOS 12.0 or newer
 19 | /// Filters MediaPlayer supports run inside its query; the rest run in memory. Sorting reads each
 20 | /// sort key once per element, so it stays linear in property reads on large libraries.
 21 | public struct LibraryQuery<Element: LibraryElement>: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing generic struct
 22 |     struct Clause {
 23 |         let filter: MediaQueryRequest.Filter?
    :
100 |
101 |     /// Breaks ties in the current ordering by a flag. `false` sorts first in `.forward` order.
102 |     public func then(by keyPath: KeyPath<Element, Bool> & Sendable, _ order: SortOrder = .forward) -> Self {
    |                 |                                                            `- error: 'SortOrder' is only available in macOS 12.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
103 |         var copy = self
104 |         copy.orderings.append(Self.ordering(keyPath, { $0[keyPath: keyPath].sortRank }, order))
/Users/admin/builder/spi-builder-workspace/Sources/Query/LibraryQuery.swift:166:18: error: 'SortOrder' is only available in macOS 12.0 or newer
 19 | /// Filters MediaPlayer supports run inside its query; the rest run in memory. Sorting reads each
 20 | /// sort key once per element, so it stays linear in property reads on large libraries.
 21 | public struct LibraryQuery<Element: LibraryElement>: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing generic struct
 22 |     struct Clause {
 23 |         let filter: MediaQueryRequest.Filter?
    :
161 |     }
162 |
163 |     private static func ordering<Value: Comparable & Sendable>(
    |                         `- note: add '@available' attribute to enclosing static method
164 |         _ keyPath: some Hashable & Sendable,
165 |         _ key: @escaping @Sendable (Element) -> Value,
166 |         _ order: SortOrder
    |                  `- error: 'SortOrder' is only available in macOS 12.0 or newer
167 |     ) -> Ordering {
168 |         Ordering(identity: Identity(keyPath: keyPath, detail: "\(order)")) { elements in
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:47:40: error: 'MPMediaItem' is unavailable in macOS
45 |
46 | extension MediaSection where Element == MPMediaItem {
47 |     static func alphabetical(_ items: [MPMediaItem], grouping: MPMediaGrouping) -> [MediaSection] {
   |                                        `- error: 'MPMediaItem' is unavailable in macOS
48 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
49 |         return alphabetical(items) { $0.value(forProperty: property) as? String }
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItem.h:42:12: note: 'MPMediaItem' has been explicitly marked unavailable here
 40 | MP_API(ios(3.0), tvos(14.0))
 41 | API_UNAVAILABLE(watchos, macos)
 42 | @interface MPMediaItem : MPMediaEntity
    |            `- note: 'MPMediaItem' has been explicitly marked unavailable here
 43 |
 44 | #pragma mark - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:47:64: error: 'MPMediaGrouping' is unavailable in macOS
45 |
46 | extension MediaSection where Element == MPMediaItem {
47 |     static func alphabetical(_ items: [MPMediaItem], grouping: MPMediaGrouping) -> [MediaSection] {
   |                                                                `- error: 'MPMediaGrouping' is unavailable in macOS
48 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
49 |         return alphabetical(items) { $0.value(forProperty: property) as? String }
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:18:28: note: 'MPMediaGrouping' has been explicitly marked unavailable here
 16 | @class MPMediaQuerySection;
 17 |
 18 | typedef NS_ENUM(NSInteger, MPMediaGrouping) {
    |                            `- note: 'MPMediaGrouping' has been explicitly marked unavailable here
 19 |     MPMediaGroupingTitle,
 20 |     MPMediaGroupingAlbum,
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:46:41: error: 'MPMediaItem' is unavailable in macOS
44 | }
45 |
46 | extension MediaSection where Element == MPMediaItem {
   |                                         `- error: 'MPMediaItem' is unavailable in macOS
47 |     static func alphabetical(_ items: [MPMediaItem], grouping: MPMediaGrouping) -> [MediaSection] {
48 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItem.h:42:12: note: 'MPMediaItem' has been explicitly marked unavailable here
 40 | MP_API(ios(3.0), tvos(14.0))
 41 | API_UNAVAILABLE(watchos, macos)
 42 | @interface MPMediaItem : MPMediaEntity
    |            `- note: 'MPMediaItem' has been explicitly marked unavailable here
 43 |
 44 | #pragma mark - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:54:46: error: 'MPMediaItemCollection' is unavailable in macOS
52 |
53 | extension MediaSection where Element == MPMediaItemCollection {
54 |     static func alphabetical(_ collections: [MPMediaItemCollection], grouping: MPMediaGrouping) -> [MediaSection] {
   |                                              `- error: 'MPMediaItemCollection' is unavailable in macOS
55 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
56 |         return alphabetical(collections) { collection in
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItemCollection.h:19:12: note: 'MPMediaItemCollection' has been explicitly marked unavailable here
17 | MP_API(ios(3.0))
18 | API_UNAVAILABLE(tvos, watchos, macos)
19 | @interface MPMediaItemCollection : MPMediaEntity
   |            `- note: 'MPMediaItemCollection' has been explicitly marked unavailable here
20 |
21 | // Creates a media item collection by copying an array of MPMediaItems.
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:54:80: error: 'MPMediaGrouping' is unavailable in macOS
52 |
53 | extension MediaSection where Element == MPMediaItemCollection {
54 |     static func alphabetical(_ collections: [MPMediaItemCollection], grouping: MPMediaGrouping) -> [MediaSection] {
   |                                                                                `- error: 'MPMediaGrouping' is unavailable in macOS
55 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
56 |         return alphabetical(collections) { collection in
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:18:28: note: 'MPMediaGrouping' has been explicitly marked unavailable here
 16 | @class MPMediaQuerySection;
 17 |
 18 | typedef NS_ENUM(NSInteger, MPMediaGrouping) {
    |                            `- note: 'MPMediaGrouping' has been explicitly marked unavailable here
 19 |     MPMediaGroupingTitle,
 20 |     MPMediaGroupingAlbum,
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:53:41: error: 'MPMediaItemCollection' is unavailable in macOS
51 | }
52 |
53 | extension MediaSection where Element == MPMediaItemCollection {
   |                                         `- error: 'MPMediaItemCollection' is unavailable in macOS
54 |     static func alphabetical(_ collections: [MPMediaItemCollection], grouping: MPMediaGrouping) -> [MediaSection] {
55 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItemCollection.h:19:12: note: 'MPMediaItemCollection' has been explicitly marked unavailable here
17 | MP_API(ios(3.0))
18 | API_UNAVAILABLE(tvos, watchos, macos)
19 | @interface MPMediaItemCollection : MPMediaEntity
   |            `- note: 'MPMediaItemCollection' has been explicitly marked unavailable here
20 |
21 | // Creates a media item collection by copying an array of MPMediaItems.
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:48:24: error: 'MPMediaItem' is unavailable in macOS
46 | extension MediaSection where Element == MPMediaItem {
47 |     static func alphabetical(_ items: [MPMediaItem], grouping: MPMediaGrouping) -> [MediaSection] {
48 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
   |                        `- error: 'MPMediaItem' is unavailable in macOS
49 |         return alphabetical(items) { $0.value(forProperty: property) as? String }
50 |     }
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItem.h:42:12: note: 'MPMediaItem' has been explicitly marked unavailable here
 40 | MP_API(ios(3.0), tvos(14.0))
 41 | API_UNAVAILABLE(watchos, macos)
 42 | @interface MPMediaItem : MPMediaEntity
    |            `- note: 'MPMediaItem' has been explicitly marked unavailable here
 43 |
 44 | #pragma mark - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:48:36: error: 'titleProperty(forGroupingType:)' is unavailable in macOS
46 | extension MediaSection where Element == MPMediaItem {
47 |     static func alphabetical(_ items: [MPMediaItem], grouping: MPMediaGrouping) -> [MediaSection] {
48 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
   |                                    `- error: 'titleProperty(forGroupingType:)' is unavailable in macOS
49 |         return alphabetical(items) { $0.value(forProperty: property) as? String }
50 |     }
MediaPlayer.MPMediaItem.titleProperty:3:19: note: 'titleProperty(forGroupingType:)' has been explicitly marked unavailable here
1 | class MPMediaItem {
2 | @available(macOS, unavailable)
3 |   open class func titleProperty(forGroupingType groupingType: MPMediaGrouping) -> String}
  |                   `- note: 'titleProperty(forGroupingType:)' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:55:24: error: 'MPMediaItem' is unavailable in macOS
53 | extension MediaSection where Element == MPMediaItemCollection {
54 |     static func alphabetical(_ collections: [MPMediaItemCollection], grouping: MPMediaGrouping) -> [MediaSection] {
55 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
   |                        `- error: 'MPMediaItem' is unavailable in macOS
56 |         return alphabetical(collections) { collection in
57 |             (collection as? MPMediaPlaylist)?.name
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItem.h:42:12: note: 'MPMediaItem' has been explicitly marked unavailable here
 40 | MP_API(ios(3.0), tvos(14.0))
 41 | API_UNAVAILABLE(watchos, macos)
 42 | @interface MPMediaItem : MPMediaEntity
    |            `- note: 'MPMediaItem' has been explicitly marked unavailable here
 43 |
 44 | #pragma mark - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:55:36: error: 'titleProperty(forGroupingType:)' is unavailable in macOS
53 | extension MediaSection where Element == MPMediaItemCollection {
54 |     static func alphabetical(_ collections: [MPMediaItemCollection], grouping: MPMediaGrouping) -> [MediaSection] {
55 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
   |                                    `- error: 'titleProperty(forGroupingType:)' is unavailable in macOS
56 |         return alphabetical(collections) { collection in
57 |             (collection as? MPMediaPlaylist)?.name
MediaPlayer.MPMediaItem.titleProperty:3:19: note: 'titleProperty(forGroupingType:)' has been explicitly marked unavailable here
1 | class MPMediaItem {
2 | @available(macOS, unavailable)
3 |   open class func titleProperty(forGroupingType groupingType: MPMediaGrouping) -> String}
  |                   `- note: 'titleProperty(forGroupingType:)' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/Sections/MediaSection.swift:57:29: error: 'MPMediaPlaylist' is unavailable in macOS
55 |         let property = MPMediaItem.titleProperty(forGroupingType: grouping)
56 |         return alphabetical(collections) { collection in
57 |             (collection as? MPMediaPlaylist)?.name
   |                             `- error: 'MPMediaPlaylist' is unavailable in macOS
58 |                 ?? collection.representativeItem?.value(forProperty: property) as? String
59 |         }
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaPlaylist.h:28:12: note: 'MPMediaPlaylist' has been explicitly marked unavailable here
26 | MP_API(ios(3.0))
27 | API_UNAVAILABLE(tvos, watchos, macos)
28 | @interface MPMediaPlaylist : MPMediaItemCollection
   |            `- note: 'MPMediaPlaylist' has been explicitly marked unavailable here
29 |
30 | #pragma mark - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaItemPredicateInfo.swift:84:29: error: 'MPMediaPlaylistAttribute' is unavailable in macOS
 82 |
 83 |     /// Filter playlists by attributes, such as `.smart` or `.genius`.
 84 |     case playlistAttributes(MPMediaPlaylistAttribute)
    |                             `- error: 'MPMediaPlaylistAttribute' is unavailable in macOS
 85 |
 86 |     /// Filter playlists by their iCloud Music Library identifier.
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaPlaylist.h:17:32: note: 'MPMediaPlaylistAttribute' has been explicitly marked unavailable here
15 |
16 | // A playlist may have any number of MPMediaPlaylistAttributes associated.
17 | typedef NS_OPTIONS(NSUInteger, MPMediaPlaylistAttribute) {
   |                                `- note: 'MPMediaPlaylistAttribute' has been explicitly marked unavailable here
18 |     MPMediaPlaylistAttributeNone    = 0,
19 |     MPMediaPlaylistAttributeOnTheGo = (1 << 0), // if set, the playlist was created on a device rather than synced from iTunes
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaItemPredicateInfo.swift:104:31: error: 'MPMediaPredicateComparison' is unavailable in macOS
102 |     /// ```
103 |     public func predicate(
104 |         using comparisonType: MPMediaPredicateComparison = .equalTo
    |                               `- error: 'MPMediaPredicateComparison' is unavailable in macOS
105 |     ) -> MPMediaPropertyPredicate {
106 |         MPMediaPropertyPredicate(
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:82:28: note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 80 | // See MPMediaItem.h and MPMediaPlaylist.h for a list of properties.
 81 |
 82 | typedef NS_ENUM(NSInteger, MPMediaPredicateComparison) {
    |                            `- note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 83 |     MPMediaPredicateComparisonEqualTo,
 84 |     MPMediaPredicateComparisonContains
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaItemPredicateInfo.swift:105:10: error: 'MPMediaPropertyPredicate' is unavailable in macOS
103 |     public func predicate(
104 |         using comparisonType: MPMediaPredicateComparison = .equalTo
105 |     ) -> MPMediaPropertyPredicate {
    |          `- error: 'MPMediaPropertyPredicate' is unavailable in macOS
106 |         MPMediaPropertyPredicate(
107 |             value: value,
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:89:12: note: 'MPMediaPropertyPredicate' has been explicitly marked unavailable here
 87 | MP_API(ios(3.0))
 88 | API_UNAVAILABLE(tvos, watchos, macos)
 89 | @interface MPMediaPropertyPredicate : MPMediaPredicate
    |            `- note: 'MPMediaPropertyPredicate' has been explicitly marked unavailable here
 90 |
 91 | + (MPMediaPropertyPredicate *)predicateWithValue:(nullable id)value forProperty:(NSString *)property; // comparisonType is MPMediaPredicateComparisonEqualTo
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaItemPredicateInfo.swift:118:28: error: 'MPMediaEntity' is unavailable in macOS
116 |
117 |     // Approximates MediaPlayer's matching: strings compare case-insensitively, numbers by value.
118 |     func matches(_ entity: MPMediaEntity, using comparison: MPMediaPredicateComparison) -> Bool {
    |                            `- error: 'MPMediaEntity' is unavailable in macOS
119 |         switch (value, entity.value(forProperty: property)) {
120 |         case let (expected as String, actual as String):
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaEntity.h:22:12: note: 'MPMediaEntity' has been explicitly marked unavailable here
20 | MP_API(ios(4.2), tvos(14.0))
21 | API_UNAVAILABLE(watchos, macos)
22 | @interface MPMediaEntity : NSObject <NSSecureCoding>
   |            `- note: 'MPMediaEntity' has been explicitly marked unavailable here
23 |
24 | // Returns YES for properties which can be used to construct MPMediaPropertyPredicates.
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaItemPredicateInfo.swift:118:61: error: 'MPMediaPredicateComparison' is unavailable in macOS
116 |
117 |     // Approximates MediaPlayer's matching: strings compare case-insensitively, numbers by value.
118 |     func matches(_ entity: MPMediaEntity, using comparison: MPMediaPredicateComparison) -> Bool {
    |                                                             `- error: 'MPMediaPredicateComparison' is unavailable in macOS
119 |         switch (value, entity.value(forProperty: property)) {
120 |         case let (expected as String, actual as String):
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:82:28: note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 80 | // See MPMediaItem.h and MPMediaPlaylist.h for a list of properties.
 81 |
 82 | typedef NS_ENUM(NSInteger, MPMediaPredicateComparison) {
    |                            `- note: 'MPMediaPredicateComparison' has been explicitly marked unavailable here
 83 |     MPMediaPredicateComparisonEqualTo,
 84 |     MPMediaPredicateComparisonContains
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaItemPredicateInfo.swift:106:9: error: 'MPMediaPropertyPredicate' is unavailable in macOS
104 |         using comparisonType: MPMediaPredicateComparison = .equalTo
105 |     ) -> MPMediaPropertyPredicate {
106 |         MPMediaPropertyPredicate(
    |         `- error: 'MPMediaPropertyPredicate' is unavailable in macOS
107 |             value: value,
108 |             forProperty: property,
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:89:12: note: 'MPMediaPropertyPredicate' has been explicitly marked unavailable here
 87 | MP_API(ios(3.0))
 88 | API_UNAVAILABLE(tvos, watchos, macos)
 89 | @interface MPMediaPropertyPredicate : MPMediaPredicate
    |            `- note: 'MPMediaPropertyPredicate' has been explicitly marked unavailable here
 90 |
 91 | + (MPMediaPropertyPredicate *)predicateWithValue:(nullable id)value forProperty:(NSString *)property; // comparisonType is MPMediaPredicateComparisonEqualTo
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaQueryProtocol.swift:34:17: error: 'MPMediaItem' is unavailable in macOS
32 |     /// Returns an array of `MPMediaItem` objects that match the query predicates,
33 |     /// or `nil` if the query has not been executed or returned no results.
34 |     var items: [MPMediaItem]? { get }
   |                 `- error: 'MPMediaItem' is unavailable in macOS
35 |
36 |     /// The media items collection matching the query criteria.
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItem.h:42:12: note: 'MPMediaItem' has been explicitly marked unavailable here
 40 | MP_API(ios(3.0), tvos(14.0))
 41 | API_UNAVAILABLE(watchos, macos)
 42 | @interface MPMediaItem : MPMediaEntity
    |            `- note: 'MPMediaItem' has been explicitly marked unavailable here
 43 |
 44 | #pragma mark - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaQueryProtocol.swift:40:23: error: 'MPMediaItemCollection' is unavailable in macOS
38 |     /// Returns an array of `MPMediaItemCollection` objects that match the query predicates,
39 |     /// or `nil` if the query has not been executed or returned no results.
40 |     var collections: [MPMediaItemCollection]? { get }
   |                       `- error: 'MPMediaItemCollection' is unavailable in macOS
41 |
42 |     /// The grouping type used to organize query results.
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItemCollection.h:19:12: note: 'MPMediaItemCollection' has been explicitly marked unavailable here
17 | MP_API(ios(3.0))
18 | API_UNAVAILABLE(tvos, watchos, macos)
19 | @interface MPMediaItemCollection : MPMediaEntity
   |            `- note: 'MPMediaItemCollection' has been explicitly marked unavailable here
20 |
21 | // Creates a media item collection by copying an array of MPMediaItems.
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaQueryProtocol.swift:46:23: error: 'MPMediaGrouping' is unavailable in macOS
44 |     /// Controls how the media items are grouped in the results. Can be modified
45 |     /// to change the organization of items returned by the query.
46 |     var groupingType: MPMediaGrouping { get set }
   |                       `- error: 'MPMediaGrouping' is unavailable in macOS
47 |
48 |     /// Initializes a query with optional filter predicates.
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:18:28: note: 'MPMediaGrouping' has been explicitly marked unavailable here
 16 | @class MPMediaQuerySection;
 17 |
 18 | typedef NS_ENUM(NSInteger, MPMediaGrouping) {
    |                            `- note: 'MPMediaGrouping' has been explicitly marked unavailable here
 19 |     MPMediaGroupingTitle,
 20 |     MPMediaGroupingAlbum,
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaQueryProtocol.swift:53:32: error: 'MPMediaPredicate' is unavailable in macOS
51 |     ///   - filterPredicates: A set of `MPMediaPredicate` objects that define the filtering criteria for the query.
52 |     ///                      Pass `nil` to fetch all available media items without filtering.
53 |     init(filterPredicates: Set<MPMediaPredicate>?)
   |                                `- error: 'MPMediaPredicate' is unavailable in macOS
54 |
55 |     /// Index section titles and the ranges of ``items`` they cover, or `nil` when the query doesn't
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:75:12: note: 'MPMediaPredicate' has been explicitly marked unavailable here
 73 | MP_API(ios(3.0))
 74 | API_UNAVAILABLE(tvos, watchos, macos)
 75 | @interface MPMediaPredicate : NSObject <NSSecureCoding> {}
    |            `- note: 'MPMediaPredicate' has been explicitly marked unavailable here
 76 | @end
 77 |
/Users/admin/builder/spi-builder-workspace/Sources/Service/MediaQueryProtocol.swift:69:11: error: 'MPMediaQuery' is unavailable in macOS
67 | }
68 |
69 | extension MPMediaQuery: MediaQueryProtocol {
   |           `- error: 'MPMediaQuery' is unavailable in macOS
70 |     public var itemSectionRanges: [(title: String, range: Range<Int>)]? {
71 |         itemSections?.compactMap { section in Range(section.range).map { (section.title, $0) } }
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaQuery.h:32:12: note: 'MPMediaQuery' has been explicitly marked unavailable here
 30 | MP_API(ios(3.0))
 31 | API_UNAVAILABLE(tvos, watchos, macos)
 32 | @interface MPMediaQuery : NSObject <NSSecureCoding, NSCopying>
    |            `- note: 'MPMediaQuery' has been explicitly marked unavailable here
 33 |
 34 | - (instancetype)initWithFilterPredicates:(nullable NSSet<MPMediaPredicate *> *)filterPredicates NS_DESIGNATED_INITIALIZER;
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /Users/admin/builder/spi-builder-workspace/Sources/MediaBridge.xctestplan
BUILD FAILURE 6.2 macosSpm