Build Information
Failed to build MediaBridge, reference main (b02b22), with Swift 6.1 for macOS (SPM) on 12 Oct 2026 10:45:17 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64Build Log
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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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;
[45/50] 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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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;
[46/50] 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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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;
[47/50] Compiling MediaBridge MusicLibraryEnvironment.swift
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicLibraryEnvironment.swift:3:11: error: 'EnvironmentValues' is only available in macOS 10.15 or newer
1 | import SwiftUI
2 |
3 | extension EnvironmentValues {
| | `- error: 'EnvironmentValues' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing extension
4 | /// The library that ``MediaQuery`` and your views read from. Defaults to the device's library.
5 | @Entry public var musicLibrary: any MusicLibraryProtocol = deviceLibrary
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicLibraryEnvironment.swift:18:75: error: 'View' is only available in macOS 10.15 or newer
6 | }
7 |
8 | extension View {
| `- note: add @available attribute to enclosing extension
9 | /// Sets the library that ``MediaQuery`` and ``SwiftUICore/EnvironmentValues/musicLibrary`` read in
10 | /// this view hierarchy, such as a preview library.
:
16 | /// }
17 | /// ```
18 | public func musicLibrary(_ library: any MusicLibraryProtocol) -> some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
19 | environment(\.musicLibrary, library)
20 | }
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicLibraryEnvironment.swift:8:11: error: 'View' is only available in macOS 10.15 or newer
6 | }
7 |
8 | extension View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing extension
9 | /// Sets the library that ``MediaQuery`` and ``SwiftUICore/EnvironmentValues/musicLibrary`` read in
10 | /// this view hierarchy, such as a preview library.
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicLibraryEnvironment.swift:19:9: error: 'environment' is only available in macOS 10.15 or newer
6 | }
7 |
8 | extension View {
| `- note: add @available attribute to enclosing extension
9 | /// Sets the library that ``MediaQuery`` and ``SwiftUICore/EnvironmentValues/musicLibrary`` read in
10 | /// this view hierarchy, such as a preview library.
:
16 | /// }
17 | /// ```
18 | public func musicLibrary(_ library: any MusicLibraryProtocol) -> some View {
| `- note: add @available attribute to enclosing instance method
19 | environment(\.musicLibrary, library)
| |- error: 'environment' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
20 | }
21 | }
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicPlayerEnvironment.swift:8:62: error: 'MPMusicPlayerController' is unavailable in macOS
6 | /// `MPMusicPlayerController.applicationMusicPlayer`, which plays inside your app without
7 | /// changing the Music app's queue.
8 | @Entry public var musicPlayer: any MusicPlayerProtocol = MPMusicPlayerController.applicationMusicPlayer
| `- error: 'MPMusicPlayerController' is unavailable in macOS
9 | }
10 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMusicPlayerController.h:57:12: note: 'MPMusicPlayerController' has been explicitly marked unavailable here
55 | MP_API(ios(3.0), tvos(14.0))
56 | API_UNAVAILABLE(watchos, macos)
57 | @interface MPMusicPlayerController : NSObject <MPMediaPlayback>
| `- note: 'MPMusicPlayerController' has been explicitly marked unavailable here
58 |
59 | /// Playing items with applicationMusicPlayer does not affect Music's playback state.
macro expansion @Entry:3:56: error: 'MPMusicPlayerController' is unavailable in macOS
`- /Users/admin/builder/spi-builder-workspace/Sources/Views/MusicPlayerEnvironment.swift:8:108: note: expanded code originates here
6 | /// `MPMusicPlayerController.applicationMusicPlayer`, which plays inside your app without
7 | /// changing the Music app's queue.
8 | @Entry public var musicPlayer: any MusicPlayerProtocol = MPMusicPlayerController.applicationMusicPlayer
+--- macro expansion @Entry -----------------------------------------
|1 | private struct __Key_musicPlayer: SwiftUICore.EnvironmentKey {
|2 | @__EntryDefaultValue
|3 | static var defaultValue: any MusicPlayerProtocol = MPMusicPlayerController.applicationMusicPlayer
| | `- error: 'MPMusicPlayerController' is unavailable in macOS
|4 | }
+--------------------------------------------------------------------
9 | }
10 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMusicPlayerController.h:57:12: note: 'MPMusicPlayerController' has been explicitly marked unavailable here
55 | MP_API(ios(3.0), tvos(14.0))
56 | API_UNAVAILABLE(watchos, macos)
57 | @interface MPMusicPlayerController : NSObject <MPMediaPlayback>
| `- note: 'MPMusicPlayerController' has been explicitly marked unavailable here
58 |
59 | /// Playing items with applicationMusicPlayer does not affect Music's playback state.
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicPlayerEnvironment.swift:4:11: error: 'EnvironmentValues' is only available in macOS 10.15 or newer
2 | import SwiftUI
3 |
4 | extension EnvironmentValues {
| | `- error: 'EnvironmentValues' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing extension
5 | /// The player that ``NowPlaying`` and your views control. Defaults to
6 | /// `MPMusicPlayerController.applicationMusicPlayer`, which plays inside your app without
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicPlayerEnvironment.swift:19:72: error: 'View' is only available in macOS 10.15 or newer
9 | }
10 |
11 | extension View {
| `- note: add @available attribute to enclosing extension
12 | /// Sets the player that ``NowPlaying`` and ``SwiftUICore/EnvironmentValues/musicPlayer`` use in
13 | /// this view hierarchy.
:
17 | /// .musicPlayer(MPMusicPlayerController.systemMusicPlayer) // control the Music app
18 | /// ```
19 | public func musicPlayer(_ player: any MusicPlayerProtocol) -> some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
20 | environment(\.musicPlayer, player)
21 | }
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicPlayerEnvironment.swift:11:11: error: 'View' is only available in macOS 10.15 or newer
9 | }
10 |
11 | extension View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing extension
12 | /// Sets the player that ``NowPlaying`` and ``SwiftUICore/EnvironmentValues/musicPlayer`` use in
13 | /// this view hierarchy.
macro expansion @__EntryDefaultValue:3:9: error: 'MPMusicPlayerController' is unavailable in macOS
`- /Users/admin/builder/spi-builder-workspace/Sources/Views/MusicPlayerEnvironment.swift:8:108: note: expanded code originates here
6 | /// `MPMusicPlayerController.applicationMusicPlayer`, which plays inside your app without
7 | /// changing the Music app's queue.
8 | @Entry public var musicPlayer: any MusicPlayerProtocol = MPMusicPlayerController.applicationMusicPlayer
+--- macro expansion @Entry -----------------------------------------
|1 | private struct __Key_musicPlayer: SwiftUICore.EnvironmentKey {
|2 | @__EntryDefaultValue
|3 | static var defaultValue: any MusicPlayerProtocol = MPMusicPlayerController.applicationMusicPlayer
| +--- macro expansion @__EntryDefaultValue ------------------------
| |1 | {
| |2 | get {
| |3 | MPMusicPlayerController.applicationMusicPlayer
| | | `- error: 'MPMusicPlayerController' is unavailable in macOS
| |4 | }
| |5 | }
| +-----------------------------------------------------------------
|4 | }
+--------------------------------------------------------------------
9 | }
10 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMusicPlayerController.h:57:12: note: 'MPMusicPlayerController' has been explicitly marked unavailable here
55 | MP_API(ios(3.0), tvos(14.0))
56 | API_UNAVAILABLE(watchos, macos)
57 | @interface MPMusicPlayerController : NSObject <MPMediaPlayback>
| `- note: 'MPMusicPlayerController' has been explicitly marked unavailable here
58 |
59 | /// Playing items with applicationMusicPlayer does not affect Music's playback state.
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicPlayerEnvironment.swift:20:9: error: 'environment' is only available in macOS 10.15 or newer
9 | }
10 |
11 | extension View {
| `- note: add @available attribute to enclosing extension
12 | /// Sets the player that ``NowPlaying`` and ``SwiftUICore/EnvironmentValues/musicPlayer`` use in
13 | /// this view hierarchy.
:
17 | /// .musicPlayer(MPMusicPlayerController.systemMusicPlayer) // control the Music app
18 | /// ```
19 | public func musicPlayer(_ player: any MusicPlayerProtocol) -> some View {
| `- note: add @available attribute to enclosing instance method
20 | environment(\.musicPlayer, player)
| |- error: 'environment' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
21 | }
22 | }
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlaying.swift:28:6: error: 'Environment' is only available in macOS 10.15 or newer
25 | @MainActor
26 | @propertyWrapper
27 | public struct NowPlaying: @preconcurrency DynamicProperty {
| `- note: add @available attribute to enclosing struct
28 | @Environment(\.musicPlayer) private var player
| `- error: 'Environment' is only available in macOS 10.15 or newer
29 | @StateObject private var loader = NowPlayingLoader()
30 |
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlaying.swift:29:6: error: 'StateObject' is only available in macOS 11.0 or newer
25 | @MainActor
26 | @propertyWrapper
27 | public struct NowPlaying: @preconcurrency DynamicProperty {
| `- note: add @available attribute to enclosing struct
28 | @Environment(\.musicPlayer) private var player
29 | @StateObject private var loader = NowPlayingLoader()
| `- error: 'StateObject' is only available in macOS 11.0 or newer
30 |
31 | public init() {}
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlaying.swift:50:35: error: 'MPMusicPlaybackState' is unavailable in macOS
48 | public struct Status: Sendable {
49 | /// Whether the player is playing, paused, stopped, interrupted, or seeking.
50 | public let playbackState: MPMusicPlaybackState
| `- error: 'MPMusicPlaybackState' is unavailable in macOS
51 |
52 | /// Whether the song is playing now.
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMusicPlayerController.h:20:28: note: 'MPMusicPlaybackState' has been explicitly marked unavailable here
18 | @class MPMusicPlayerApplicationController;
19 |
20 | typedef NS_ENUM(NSInteger, MPMusicPlaybackState) {
| `- note: 'MPMusicPlaybackState' has been explicitly marked unavailable here
21 | MPMusicPlaybackStateStopped,
22 | MPMusicPlaybackStatePlaying,
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:6:6: error: 'Published' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
| `- error: 'Published' is only available in macOS 10.15 or newer
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
8 |
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:7:48: error: 'MPMusicPlaybackState' is unavailable in macOS
5 | final class NowPlayingLoader: ObservableObject {
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
| `- error: 'MPMusicPlaybackState' is unavailable in macOS
8 |
9 | private var player: (any MusicPlayerProtocol)?
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMusicPlayerController.h:20:28: note: 'MPMusicPlaybackState' has been explicitly marked unavailable here
18 | @class MPMusicPlayerApplicationController;
19 |
20 | typedef NS_ENUM(NSInteger, MPMusicPlaybackState) {
| `- note: 'MPMusicPlaybackState' has been explicitly marked unavailable here
21 | MPMusicPlaybackStateStopped,
22 | MPMusicPlaybackStatePlaying,
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:7:6: error: 'Published' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
| `- error: 'Published' is only available in macOS 10.15 or newer
8 |
9 | private var player: (any MusicPlayerProtocol)?
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:10:30: error: 'AnyCancellable' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
8 |
9 | private var player: (any MusicPlayerProtocol)?
10 | private var observation: AnyCancellable?
| `- error: 'AnyCancellable' is only available in macOS 10.15 or newer
11 |
12 | func update(player: any MusicPlayerProtocol) {
<unknown>:0: error: cannot convert value of type 'KeyPath<NowPlayingLoader, Song?>' to expected argument type 'ReferenceWritableKeyPath<NowPlayingLoader, Song?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<NowPlayingLoader, MPMusicPlaybackState>' to expected argument type 'ReferenceWritableKeyPath<NowPlayingLoader, MPMusicPlaybackState>'
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:20:64: error: 'AnyCancellable' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
18 | }
19 |
20 | private func observe(_ player: any MusicPlayerProtocol) -> AnyCancellable {
| | `- error: 'AnyCancellable' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:22:39: error: 'AsyncStream' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
18 | }
19 |
20 | private func observe(_ player: any MusicPlayerProtocol) -> AnyCancellable {
| `- note: add @available attribute to enclosing instance method
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
| |- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
23 | let names: [Notification.Name] = [.MPMusicPlayerControllerNowPlayingItemDidChange, .MPMusicPlayerControllerPlaybackStateDidChange]
24 | let observers = names.map { name in
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:22:57: error: 'makeStream(of:bufferingPolicy:)' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
18 | }
19 |
20 | private func observe(_ player: any MusicPlayerProtocol) -> AnyCancellable {
| `- note: add @available attribute to enclosing instance method
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
| |- error: 'makeStream(of:bufferingPolicy:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
23 | let names: [Notification.Name] = [.MPMusicPlayerControllerNowPlayingItemDidChange, .MPMusicPlayerControllerPlaybackStateDidChange]
24 | let observers = names.map { name in
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:23:44: error: 'MPMusicPlayerControllerNowPlayingItemDidChange' is unavailable in macOS
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
23 | let names: [Notification.Name] = [.MPMusicPlayerControllerNowPlayingItemDidChange, .MPMusicPlayerControllerPlaybackStateDidChange]
| `- error: 'MPMusicPlayerControllerNowPlayingItemDidChange' is unavailable in macOS
24 | let observers = names.map { name in
25 | center.addObserver(forName: name, object: player, queue: nil) { _ in continuation.yield() }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMusicPlayerController.h:138:36: note: 'MPMusicPlayerControllerNowPlayingItemDidChange' has been explicitly marked unavailable here
136 |
137 | // Posted when the currently playing media item changes.
138 | MP_EXTERN NSNotificationName const MPMusicPlayerControllerNowPlayingItemDidChangeNotification
| `- note: 'MPMusicPlayerControllerNowPlayingItemDidChange' has been explicitly marked unavailable here
139 | MP_API(ios(3.0), tvos(14.0))
140 | API_UNAVAILABLE(watchos, macos);
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:23:93: error: 'MPMusicPlayerControllerPlaybackStateDidChange' is unavailable in macOS
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
23 | let names: [Notification.Name] = [.MPMusicPlayerControllerNowPlayingItemDidChange, .MPMusicPlayerControllerPlaybackStateDidChange]
| `- error: 'MPMusicPlayerControllerPlaybackStateDidChange' is unavailable in macOS
24 | let observers = names.map { name in
25 | center.addObserver(forName: name, object: player, queue: nil) { _ in continuation.yield() }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMusicPlayerController.h:133:36: note: 'MPMusicPlayerControllerPlaybackStateDidChange' has been explicitly marked unavailable here
131 |
132 | // Posted when the playback state changes, either programatically or by the user.
133 | MP_EXTERN NSNotificationName const MPMusicPlayerControllerPlaybackStateDidChangeNotification
| `- note: 'MPMusicPlayerControllerPlaybackStateDidChange' has been explicitly marked unavailable here
134 | MP_API(ios(3.0), tvos(14.0))
135 | API_UNAVAILABLE(watchos, macos);
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:25:95: error: 'yield()' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
18 | }
19 |
20 | private func observe(_ player: any MusicPlayerProtocol) -> AnyCancellable {
| `- note: add @available attribute to enclosing instance method
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
23 | let names: [Notification.Name] = [.MPMusicPlayerControllerNowPlayingItemDidChange, .MPMusicPlayerControllerPlaybackStateDidChange]
24 | let observers = names.map { name in
25 | center.addObserver(forName: name, object: player, queue: nil) { _ in continuation.yield() }
| |- error: 'yield()' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
26 | }
27 | player.beginGeneratingPlaybackNotifications()
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:28:20: error: 'Task' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
18 | }
19 |
20 | private func observe(_ player: any MusicPlayerProtocol) -> AnyCancellable {
| `- note: add @available attribute to enclosing instance method
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
:
26 | }
27 | player.beginGeneratingPlaybackNotifications()
28 | let task = Task { [weak self] in
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
29 | for await _ in changes {
30 | self?.refresh()
<unknown>:0: error: 'makeAsyncIterator()' is only available in macOS 10.15 or newer
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:28:20: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
18 | }
19 |
20 | private func observe(_ player: any MusicPlayerProtocol) -> AnyCancellable {
| `- note: add @available attribute to enclosing instance method
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
:
26 | }
27 | player.beginGeneratingPlaybackNotifications()
28 | let task = Task { [weak self] in
| |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
29 | for await _ in changes {
30 | self?.refresh()
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:33:16: error: 'AnyCancellable' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
18 | }
19 |
20 | private func observe(_ player: any MusicPlayerProtocol) -> AnyCancellable {
| `- note: add @available attribute to enclosing instance method
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
:
31 | }
32 | }
33 | return AnyCancellable {
| |- error: 'AnyCancellable' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
34 | observers.forEach(center.removeObserver)
35 | continuation.finish()
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:36:18: error: 'cancel()' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
18 | }
19 |
20 | private func observe(_ player: any MusicPlayerProtocol) -> AnyCancellable {
| `- note: add @available attribute to enclosing instance method
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
:
34 | observers.forEach(center.removeObserver)
35 | continuation.finish()
36 | task.cancel()
| |- error: 'cancel()' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
37 | player.endGeneratingPlaybackNotifications()
38 | }
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:43:55: error: setter for 'song' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
39 | }
40 |
41 | private func refresh() {
| `- note: add @available attribute to enclosing instance method
42 | let song = player?.nowPlayingSong
43 | if song?.mediaItem !== self.song?.mediaItem { self.song = song }
| |- error: setter for 'song' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
44 | let state = player?.playbackState ?? .stopped
45 | if state != playbackState { playbackState = state }
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:45:37: error: setter for 'playbackState' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
39 | }
40 |
41 | private func refresh() {
| `- note: add @available attribute to enclosing instance method
42 | let song = player?.nowPlayingSong
43 | if song?.mediaItem !== self.song?.mediaItem { self.song = song }
44 | let state = player?.playbackState ?? .stopped
45 | if state != playbackState { playbackState = state }
| |- error: setter for 'playbackState' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
46 | }
47 | }
[48/50] Compiling MediaBridge MusicPlayerEnvironment.swift
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicLibraryEnvironment.swift:3:11: error: 'EnvironmentValues' is only available in macOS 10.15 or newer
1 | import SwiftUI
2 |
3 | extension EnvironmentValues {
| | `- error: 'EnvironmentValues' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing extension
4 | /// The library that ``MediaQuery`` and your views read from. Defaults to the device's library.
5 | @Entry public var musicLibrary: any MusicLibraryProtocol = deviceLibrary
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicLibraryEnvironment.swift:18:75: error: 'View' is only available in macOS 10.15 or newer
6 | }
7 |
8 | extension View {
| `- note: add @available attribute to enclosing extension
9 | /// Sets the library that ``MediaQuery`` and ``SwiftUICore/EnvironmentValues/musicLibrary`` read in
10 | /// this view hierarchy, such as a preview library.
:
16 | /// }
17 | /// ```
18 | public func musicLibrary(_ library: any MusicLibraryProtocol) -> some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
19 | environment(\.musicLibrary, library)
20 | }
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicLibraryEnvironment.swift:8:11: error: 'View' is only available in macOS 10.15 or newer
6 | }
7 |
8 | extension View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing extension
9 | /// Sets the library that ``MediaQuery`` and ``SwiftUICore/EnvironmentValues/musicLibrary`` read in
10 | /// this view hierarchy, such as a preview library.
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicLibraryEnvironment.swift:19:9: error: 'environment' is only available in macOS 10.15 or newer
6 | }
7 |
8 | extension View {
| `- note: add @available attribute to enclosing extension
9 | /// Sets the library that ``MediaQuery`` and ``SwiftUICore/EnvironmentValues/musicLibrary`` read in
10 | /// this view hierarchy, such as a preview library.
:
16 | /// }
17 | /// ```
18 | public func musicLibrary(_ library: any MusicLibraryProtocol) -> some View {
| `- note: add @available attribute to enclosing instance method
19 | environment(\.musicLibrary, library)
| |- error: 'environment' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
20 | }
21 | }
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicPlayerEnvironment.swift:8:62: error: 'MPMusicPlayerController' is unavailable in macOS
6 | /// `MPMusicPlayerController.applicationMusicPlayer`, which plays inside your app without
7 | /// changing the Music app's queue.
8 | @Entry public var musicPlayer: any MusicPlayerProtocol = MPMusicPlayerController.applicationMusicPlayer
| `- error: 'MPMusicPlayerController' is unavailable in macOS
9 | }
10 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMusicPlayerController.h:57:12: note: 'MPMusicPlayerController' has been explicitly marked unavailable here
55 | MP_API(ios(3.0), tvos(14.0))
56 | API_UNAVAILABLE(watchos, macos)
57 | @interface MPMusicPlayerController : NSObject <MPMediaPlayback>
| `- note: 'MPMusicPlayerController' has been explicitly marked unavailable here
58 |
59 | /// Playing items with applicationMusicPlayer does not affect Music's playback state.
macro expansion @Entry:3:56: error: 'MPMusicPlayerController' is unavailable in macOS
`- /Users/admin/builder/spi-builder-workspace/Sources/Views/MusicPlayerEnvironment.swift:8:108: note: expanded code originates here
6 | /// `MPMusicPlayerController.applicationMusicPlayer`, which plays inside your app without
7 | /// changing the Music app's queue.
8 | @Entry public var musicPlayer: any MusicPlayerProtocol = MPMusicPlayerController.applicationMusicPlayer
+--- macro expansion @Entry -----------------------------------------
|1 | private struct __Key_musicPlayer: SwiftUICore.EnvironmentKey {
|2 | @__EntryDefaultValue
|3 | static var defaultValue: any MusicPlayerProtocol = MPMusicPlayerController.applicationMusicPlayer
| | `- error: 'MPMusicPlayerController' is unavailable in macOS
|4 | }
+--------------------------------------------------------------------
9 | }
10 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMusicPlayerController.h:57:12: note: 'MPMusicPlayerController' has been explicitly marked unavailable here
55 | MP_API(ios(3.0), tvos(14.0))
56 | API_UNAVAILABLE(watchos, macos)
57 | @interface MPMusicPlayerController : NSObject <MPMediaPlayback>
| `- note: 'MPMusicPlayerController' has been explicitly marked unavailable here
58 |
59 | /// Playing items with applicationMusicPlayer does not affect Music's playback state.
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicPlayerEnvironment.swift:4:11: error: 'EnvironmentValues' is only available in macOS 10.15 or newer
2 | import SwiftUI
3 |
4 | extension EnvironmentValues {
| | `- error: 'EnvironmentValues' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing extension
5 | /// The player that ``NowPlaying`` and your views control. Defaults to
6 | /// `MPMusicPlayerController.applicationMusicPlayer`, which plays inside your app without
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicPlayerEnvironment.swift:19:72: error: 'View' is only available in macOS 10.15 or newer
9 | }
10 |
11 | extension View {
| `- note: add @available attribute to enclosing extension
12 | /// Sets the player that ``NowPlaying`` and ``SwiftUICore/EnvironmentValues/musicPlayer`` use in
13 | /// this view hierarchy.
:
17 | /// .musicPlayer(MPMusicPlayerController.systemMusicPlayer) // control the Music app
18 | /// ```
19 | public func musicPlayer(_ player: any MusicPlayerProtocol) -> some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
20 | environment(\.musicPlayer, player)
21 | }
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicPlayerEnvironment.swift:11:11: error: 'View' is only available in macOS 10.15 or newer
9 | }
10 |
11 | extension View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing extension
12 | /// Sets the player that ``NowPlaying`` and ``SwiftUICore/EnvironmentValues/musicPlayer`` use in
13 | /// this view hierarchy.
macro expansion @__EntryDefaultValue:3:9: error: 'MPMusicPlayerController' is unavailable in macOS
`- /Users/admin/builder/spi-builder-workspace/Sources/Views/MusicPlayerEnvironment.swift:8:108: note: expanded code originates here
6 | /// `MPMusicPlayerController.applicationMusicPlayer`, which plays inside your app without
7 | /// changing the Music app's queue.
8 | @Entry public var musicPlayer: any MusicPlayerProtocol = MPMusicPlayerController.applicationMusicPlayer
+--- macro expansion @Entry -----------------------------------------
|1 | private struct __Key_musicPlayer: SwiftUICore.EnvironmentKey {
|2 | @__EntryDefaultValue
|3 | static var defaultValue: any MusicPlayerProtocol = MPMusicPlayerController.applicationMusicPlayer
| +--- macro expansion @__EntryDefaultValue ------------------------
| |1 | {
| |2 | get {
| |3 | MPMusicPlayerController.applicationMusicPlayer
| | | `- error: 'MPMusicPlayerController' is unavailable in macOS
| |4 | }
| |5 | }
| +-----------------------------------------------------------------
|4 | }
+--------------------------------------------------------------------
9 | }
10 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMusicPlayerController.h:57:12: note: 'MPMusicPlayerController' has been explicitly marked unavailable here
55 | MP_API(ios(3.0), tvos(14.0))
56 | API_UNAVAILABLE(watchos, macos)
57 | @interface MPMusicPlayerController : NSObject <MPMediaPlayback>
| `- note: 'MPMusicPlayerController' has been explicitly marked unavailable here
58 |
59 | /// Playing items with applicationMusicPlayer does not affect Music's playback state.
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicPlayerEnvironment.swift:20:9: error: 'environment' is only available in macOS 10.15 or newer
9 | }
10 |
11 | extension View {
| `- note: add @available attribute to enclosing extension
12 | /// Sets the player that ``NowPlaying`` and ``SwiftUICore/EnvironmentValues/musicPlayer`` use in
13 | /// this view hierarchy.
:
17 | /// .musicPlayer(MPMusicPlayerController.systemMusicPlayer) // control the Music app
18 | /// ```
19 | public func musicPlayer(_ player: any MusicPlayerProtocol) -> some View {
| `- note: add @available attribute to enclosing instance method
20 | environment(\.musicPlayer, player)
| |- error: 'environment' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
21 | }
22 | }
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlaying.swift:28:6: error: 'Environment' is only available in macOS 10.15 or newer
25 | @MainActor
26 | @propertyWrapper
27 | public struct NowPlaying: @preconcurrency DynamicProperty {
| `- note: add @available attribute to enclosing struct
28 | @Environment(\.musicPlayer) private var player
| `- error: 'Environment' is only available in macOS 10.15 or newer
29 | @StateObject private var loader = NowPlayingLoader()
30 |
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlaying.swift:29:6: error: 'StateObject' is only available in macOS 11.0 or newer
25 | @MainActor
26 | @propertyWrapper
27 | public struct NowPlaying: @preconcurrency DynamicProperty {
| `- note: add @available attribute to enclosing struct
28 | @Environment(\.musicPlayer) private var player
29 | @StateObject private var loader = NowPlayingLoader()
| `- error: 'StateObject' is only available in macOS 11.0 or newer
30 |
31 | public init() {}
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlaying.swift:50:35: error: 'MPMusicPlaybackState' is unavailable in macOS
48 | public struct Status: Sendable {
49 | /// Whether the player is playing, paused, stopped, interrupted, or seeking.
50 | public let playbackState: MPMusicPlaybackState
| `- error: 'MPMusicPlaybackState' is unavailable in macOS
51 |
52 | /// Whether the song is playing now.
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMusicPlayerController.h:20:28: note: 'MPMusicPlaybackState' has been explicitly marked unavailable here
18 | @class MPMusicPlayerApplicationController;
19 |
20 | typedef NS_ENUM(NSInteger, MPMusicPlaybackState) {
| `- note: 'MPMusicPlaybackState' has been explicitly marked unavailable here
21 | MPMusicPlaybackStateStopped,
22 | MPMusicPlaybackStatePlaying,
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:6:6: error: 'Published' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
| `- error: 'Published' is only available in macOS 10.15 or newer
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
8 |
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:7:48: error: 'MPMusicPlaybackState' is unavailable in macOS
5 | final class NowPlayingLoader: ObservableObject {
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
| `- error: 'MPMusicPlaybackState' is unavailable in macOS
8 |
9 | private var player: (any MusicPlayerProtocol)?
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMusicPlayerController.h:20:28: note: 'MPMusicPlaybackState' has been explicitly marked unavailable here
18 | @class MPMusicPlayerApplicationController;
19 |
20 | typedef NS_ENUM(NSInteger, MPMusicPlaybackState) {
| `- note: 'MPMusicPlaybackState' has been explicitly marked unavailable here
21 | MPMusicPlaybackStateStopped,
22 | MPMusicPlaybackStatePlaying,
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:7:6: error: 'Published' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
| `- error: 'Published' is only available in macOS 10.15 or newer
8 |
9 | private var player: (any MusicPlayerProtocol)?
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:10:30: error: 'AnyCancellable' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
8 |
9 | private var player: (any MusicPlayerProtocol)?
10 | private var observation: AnyCancellable?
| `- error: 'AnyCancellable' is only available in macOS 10.15 or newer
11 |
12 | func update(player: any MusicPlayerProtocol) {
<unknown>:0: error: cannot convert value of type 'KeyPath<NowPlayingLoader, Song?>' to expected argument type 'ReferenceWritableKeyPath<NowPlayingLoader, Song?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<NowPlayingLoader, MPMusicPlaybackState>' to expected argument type 'ReferenceWritableKeyPath<NowPlayingLoader, MPMusicPlaybackState>'
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:20:64: error: 'AnyCancellable' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
18 | }
19 |
20 | private func observe(_ player: any MusicPlayerProtocol) -> AnyCancellable {
| | `- error: 'AnyCancellable' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:22:39: error: 'AsyncStream' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
18 | }
19 |
20 | private func observe(_ player: any MusicPlayerProtocol) -> AnyCancellable {
| `- note: add @available attribute to enclosing instance method
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
| |- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
23 | let names: [Notification.Name] = [.MPMusicPlayerControllerNowPlayingItemDidChange, .MPMusicPlayerControllerPlaybackStateDidChange]
24 | let observers = names.map { name in
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:22:57: error: 'makeStream(of:bufferingPolicy:)' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
18 | }
19 |
20 | private func observe(_ player: any MusicPlayerProtocol) -> AnyCancellable {
| `- note: add @available attribute to enclosing instance method
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
| |- error: 'makeStream(of:bufferingPolicy:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
23 | let names: [Notification.Name] = [.MPMusicPlayerControllerNowPlayingItemDidChange, .MPMusicPlayerControllerPlaybackStateDidChange]
24 | let observers = names.map { name in
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:23:44: error: 'MPMusicPlayerControllerNowPlayingItemDidChange' is unavailable in macOS
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
23 | let names: [Notification.Name] = [.MPMusicPlayerControllerNowPlayingItemDidChange, .MPMusicPlayerControllerPlaybackStateDidChange]
| `- error: 'MPMusicPlayerControllerNowPlayingItemDidChange' is unavailable in macOS
24 | let observers = names.map { name in
25 | center.addObserver(forName: name, object: player, queue: nil) { _ in continuation.yield() }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMusicPlayerController.h:138:36: note: 'MPMusicPlayerControllerNowPlayingItemDidChange' has been explicitly marked unavailable here
136 |
137 | // Posted when the currently playing media item changes.
138 | MP_EXTERN NSNotificationName const MPMusicPlayerControllerNowPlayingItemDidChangeNotification
| `- note: 'MPMusicPlayerControllerNowPlayingItemDidChange' has been explicitly marked unavailable here
139 | MP_API(ios(3.0), tvos(14.0))
140 | API_UNAVAILABLE(watchos, macos);
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:23:93: error: 'MPMusicPlayerControllerPlaybackStateDidChange' is unavailable in macOS
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
23 | let names: [Notification.Name] = [.MPMusicPlayerControllerNowPlayingItemDidChange, .MPMusicPlayerControllerPlaybackStateDidChange]
| `- error: 'MPMusicPlayerControllerPlaybackStateDidChange' is unavailable in macOS
24 | let observers = names.map { name in
25 | center.addObserver(forName: name, object: player, queue: nil) { _ in continuation.yield() }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMusicPlayerController.h:133:36: note: 'MPMusicPlayerControllerPlaybackStateDidChange' has been explicitly marked unavailable here
131 |
132 | // Posted when the playback state changes, either programatically or by the user.
133 | MP_EXTERN NSNotificationName const MPMusicPlayerControllerPlaybackStateDidChangeNotification
| `- note: 'MPMusicPlayerControllerPlaybackStateDidChange' has been explicitly marked unavailable here
134 | MP_API(ios(3.0), tvos(14.0))
135 | API_UNAVAILABLE(watchos, macos);
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:25:95: error: 'yield()' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
18 | }
19 |
20 | private func observe(_ player: any MusicPlayerProtocol) -> AnyCancellable {
| `- note: add @available attribute to enclosing instance method
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
23 | let names: [Notification.Name] = [.MPMusicPlayerControllerNowPlayingItemDidChange, .MPMusicPlayerControllerPlaybackStateDidChange]
24 | let observers = names.map { name in
25 | center.addObserver(forName: name, object: player, queue: nil) { _ in continuation.yield() }
| |- error: 'yield()' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
26 | }
27 | player.beginGeneratingPlaybackNotifications()
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:28:20: error: 'Task' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
18 | }
19 |
20 | private func observe(_ player: any MusicPlayerProtocol) -> AnyCancellable {
| `- note: add @available attribute to enclosing instance method
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
:
26 | }
27 | player.beginGeneratingPlaybackNotifications()
28 | let task = Task { [weak self] in
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
29 | for await _ in changes {
30 | self?.refresh()
<unknown>:0: error: 'makeAsyncIterator()' is only available in macOS 10.15 or newer
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:28:20: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
18 | }
19 |
20 | private func observe(_ player: any MusicPlayerProtocol) -> AnyCancellable {
| `- note: add @available attribute to enclosing instance method
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
:
26 | }
27 | player.beginGeneratingPlaybackNotifications()
28 | let task = Task { [weak self] in
| |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
29 | for await _ in changes {
30 | self?.refresh()
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:33:16: error: 'AnyCancellable' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
18 | }
19 |
20 | private func observe(_ player: any MusicPlayerProtocol) -> AnyCancellable {
| `- note: add @available attribute to enclosing instance method
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
:
31 | }
32 | }
33 | return AnyCancellable {
| |- error: 'AnyCancellable' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
34 | observers.forEach(center.removeObserver)
35 | continuation.finish()
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:36:18: error: 'cancel()' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
18 | }
19 |
20 | private func observe(_ player: any MusicPlayerProtocol) -> AnyCancellable {
| `- note: add @available attribute to enclosing instance method
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
:
34 | observers.forEach(center.removeObserver)
35 | continuation.finish()
36 | task.cancel()
| |- error: 'cancel()' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
37 | player.endGeneratingPlaybackNotifications()
38 | }
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:43:55: error: setter for 'song' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
39 | }
40 |
41 | private func refresh() {
| `- note: add @available attribute to enclosing instance method
42 | let song = player?.nowPlayingSong
43 | if song?.mediaItem !== self.song?.mediaItem { self.song = song }
| |- error: setter for 'song' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
44 | let state = player?.playbackState ?? .stopped
45 | if state != playbackState { playbackState = state }
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:45:37: error: setter for 'playbackState' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
39 | }
40 |
41 | private func refresh() {
| `- note: add @available attribute to enclosing instance method
42 | let song = player?.nowPlayingSong
43 | if song?.mediaItem !== self.song?.mediaItem { self.song = song }
44 | let state = player?.playbackState ?? .stopped
45 | if state != playbackState { playbackState = state }
| |- error: setter for 'playbackState' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
46 | }
47 | }
[49/50] Compiling MediaBridge NowPlaying.swift
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicLibraryEnvironment.swift:3:11: error: 'EnvironmentValues' is only available in macOS 10.15 or newer
1 | import SwiftUI
2 |
3 | extension EnvironmentValues {
| | `- error: 'EnvironmentValues' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing extension
4 | /// The library that ``MediaQuery`` and your views read from. Defaults to the device's library.
5 | @Entry public var musicLibrary: any MusicLibraryProtocol = deviceLibrary
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicLibraryEnvironment.swift:18:75: error: 'View' is only available in macOS 10.15 or newer
6 | }
7 |
8 | extension View {
| `- note: add @available attribute to enclosing extension
9 | /// Sets the library that ``MediaQuery`` and ``SwiftUICore/EnvironmentValues/musicLibrary`` read in
10 | /// this view hierarchy, such as a preview library.
:
16 | /// }
17 | /// ```
18 | public func musicLibrary(_ library: any MusicLibraryProtocol) -> some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
19 | environment(\.musicLibrary, library)
20 | }
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicLibraryEnvironment.swift:8:11: error: 'View' is only available in macOS 10.15 or newer
6 | }
7 |
8 | extension View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing extension
9 | /// Sets the library that ``MediaQuery`` and ``SwiftUICore/EnvironmentValues/musicLibrary`` read in
10 | /// this view hierarchy, such as a preview library.
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicLibraryEnvironment.swift:19:9: error: 'environment' is only available in macOS 10.15 or newer
6 | }
7 |
8 | extension View {
| `- note: add @available attribute to enclosing extension
9 | /// Sets the library that ``MediaQuery`` and ``SwiftUICore/EnvironmentValues/musicLibrary`` read in
10 | /// this view hierarchy, such as a preview library.
:
16 | /// }
17 | /// ```
18 | public func musicLibrary(_ library: any MusicLibraryProtocol) -> some View {
| `- note: add @available attribute to enclosing instance method
19 | environment(\.musicLibrary, library)
| |- error: 'environment' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
20 | }
21 | }
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicPlayerEnvironment.swift:8:62: error: 'MPMusicPlayerController' is unavailable in macOS
6 | /// `MPMusicPlayerController.applicationMusicPlayer`, which plays inside your app without
7 | /// changing the Music app's queue.
8 | @Entry public var musicPlayer: any MusicPlayerProtocol = MPMusicPlayerController.applicationMusicPlayer
| `- error: 'MPMusicPlayerController' is unavailable in macOS
9 | }
10 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMusicPlayerController.h:57:12: note: 'MPMusicPlayerController' has been explicitly marked unavailable here
55 | MP_API(ios(3.0), tvos(14.0))
56 | API_UNAVAILABLE(watchos, macos)
57 | @interface MPMusicPlayerController : NSObject <MPMediaPlayback>
| `- note: 'MPMusicPlayerController' has been explicitly marked unavailable here
58 |
59 | /// Playing items with applicationMusicPlayer does not affect Music's playback state.
macro expansion @Entry:3:56: error: 'MPMusicPlayerController' is unavailable in macOS
`- /Users/admin/builder/spi-builder-workspace/Sources/Views/MusicPlayerEnvironment.swift:8:108: note: expanded code originates here
6 | /// `MPMusicPlayerController.applicationMusicPlayer`, which plays inside your app without
7 | /// changing the Music app's queue.
8 | @Entry public var musicPlayer: any MusicPlayerProtocol = MPMusicPlayerController.applicationMusicPlayer
+--- macro expansion @Entry -----------------------------------------
|1 | private struct __Key_musicPlayer: SwiftUICore.EnvironmentKey {
|2 | @__EntryDefaultValue
|3 | static var defaultValue: any MusicPlayerProtocol = MPMusicPlayerController.applicationMusicPlayer
| | `- error: 'MPMusicPlayerController' is unavailable in macOS
|4 | }
+--------------------------------------------------------------------
9 | }
10 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMusicPlayerController.h:57:12: note: 'MPMusicPlayerController' has been explicitly marked unavailable here
55 | MP_API(ios(3.0), tvos(14.0))
56 | API_UNAVAILABLE(watchos, macos)
57 | @interface MPMusicPlayerController : NSObject <MPMediaPlayback>
| `- note: 'MPMusicPlayerController' has been explicitly marked unavailable here
58 |
59 | /// Playing items with applicationMusicPlayer does not affect Music's playback state.
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicPlayerEnvironment.swift:4:11: error: 'EnvironmentValues' is only available in macOS 10.15 or newer
2 | import SwiftUI
3 |
4 | extension EnvironmentValues {
| | `- error: 'EnvironmentValues' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing extension
5 | /// The player that ``NowPlaying`` and your views control. Defaults to
6 | /// `MPMusicPlayerController.applicationMusicPlayer`, which plays inside your app without
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicPlayerEnvironment.swift:19:72: error: 'View' is only available in macOS 10.15 or newer
9 | }
10 |
11 | extension View {
| `- note: add @available attribute to enclosing extension
12 | /// Sets the player that ``NowPlaying`` and ``SwiftUICore/EnvironmentValues/musicPlayer`` use in
13 | /// this view hierarchy.
:
17 | /// .musicPlayer(MPMusicPlayerController.systemMusicPlayer) // control the Music app
18 | /// ```
19 | public func musicPlayer(_ player: any MusicPlayerProtocol) -> some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
20 | environment(\.musicPlayer, player)
21 | }
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicPlayerEnvironment.swift:11:11: error: 'View' is only available in macOS 10.15 or newer
9 | }
10 |
11 | extension View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing extension
12 | /// Sets the player that ``NowPlaying`` and ``SwiftUICore/EnvironmentValues/musicPlayer`` use in
13 | /// this view hierarchy.
macro expansion @__EntryDefaultValue:3:9: error: 'MPMusicPlayerController' is unavailable in macOS
`- /Users/admin/builder/spi-builder-workspace/Sources/Views/MusicPlayerEnvironment.swift:8:108: note: expanded code originates here
6 | /// `MPMusicPlayerController.applicationMusicPlayer`, which plays inside your app without
7 | /// changing the Music app's queue.
8 | @Entry public var musicPlayer: any MusicPlayerProtocol = MPMusicPlayerController.applicationMusicPlayer
+--- macro expansion @Entry -----------------------------------------
|1 | private struct __Key_musicPlayer: SwiftUICore.EnvironmentKey {
|2 | @__EntryDefaultValue
|3 | static var defaultValue: any MusicPlayerProtocol = MPMusicPlayerController.applicationMusicPlayer
| +--- macro expansion @__EntryDefaultValue ------------------------
| |1 | {
| |2 | get {
| |3 | MPMusicPlayerController.applicationMusicPlayer
| | | `- error: 'MPMusicPlayerController' is unavailable in macOS
| |4 | }
| |5 | }
| +-----------------------------------------------------------------
|4 | }
+--------------------------------------------------------------------
9 | }
10 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMusicPlayerController.h:57:12: note: 'MPMusicPlayerController' has been explicitly marked unavailable here
55 | MP_API(ios(3.0), tvos(14.0))
56 | API_UNAVAILABLE(watchos, macos)
57 | @interface MPMusicPlayerController : NSObject <MPMediaPlayback>
| `- note: 'MPMusicPlayerController' has been explicitly marked unavailable here
58 |
59 | /// Playing items with applicationMusicPlayer does not affect Music's playback state.
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicPlayerEnvironment.swift:20:9: error: 'environment' is only available in macOS 10.15 or newer
9 | }
10 |
11 | extension View {
| `- note: add @available attribute to enclosing extension
12 | /// Sets the player that ``NowPlaying`` and ``SwiftUICore/EnvironmentValues/musicPlayer`` use in
13 | /// this view hierarchy.
:
17 | /// .musicPlayer(MPMusicPlayerController.systemMusicPlayer) // control the Music app
18 | /// ```
19 | public func musicPlayer(_ player: any MusicPlayerProtocol) -> some View {
| `- note: add @available attribute to enclosing instance method
20 | environment(\.musicPlayer, player)
| |- error: 'environment' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
21 | }
22 | }
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlaying.swift:28:6: error: 'Environment' is only available in macOS 10.15 or newer
25 | @MainActor
26 | @propertyWrapper
27 | public struct NowPlaying: @preconcurrency DynamicProperty {
| `- note: add @available attribute to enclosing struct
28 | @Environment(\.musicPlayer) private var player
| `- error: 'Environment' is only available in macOS 10.15 or newer
29 | @StateObject private var loader = NowPlayingLoader()
30 |
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlaying.swift:29:6: error: 'StateObject' is only available in macOS 11.0 or newer
25 | @MainActor
26 | @propertyWrapper
27 | public struct NowPlaying: @preconcurrency DynamicProperty {
| `- note: add @available attribute to enclosing struct
28 | @Environment(\.musicPlayer) private var player
29 | @StateObject private var loader = NowPlayingLoader()
| `- error: 'StateObject' is only available in macOS 11.0 or newer
30 |
31 | public init() {}
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlaying.swift:50:35: error: 'MPMusicPlaybackState' is unavailable in macOS
48 | public struct Status: Sendable {
49 | /// Whether the player is playing, paused, stopped, interrupted, or seeking.
50 | public let playbackState: MPMusicPlaybackState
| `- error: 'MPMusicPlaybackState' is unavailable in macOS
51 |
52 | /// Whether the song is playing now.
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMusicPlayerController.h:20:28: note: 'MPMusicPlaybackState' has been explicitly marked unavailable here
18 | @class MPMusicPlayerApplicationController;
19 |
20 | typedef NS_ENUM(NSInteger, MPMusicPlaybackState) {
| `- note: 'MPMusicPlaybackState' has been explicitly marked unavailable here
21 | MPMusicPlaybackStateStopped,
22 | MPMusicPlaybackStatePlaying,
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:6:6: error: 'Published' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
| `- error: 'Published' is only available in macOS 10.15 or newer
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
8 |
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:7:48: error: 'MPMusicPlaybackState' is unavailable in macOS
5 | final class NowPlayingLoader: ObservableObject {
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
| `- error: 'MPMusicPlaybackState' is unavailable in macOS
8 |
9 | private var player: (any MusicPlayerProtocol)?
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMusicPlayerController.h:20:28: note: 'MPMusicPlaybackState' has been explicitly marked unavailable here
18 | @class MPMusicPlayerApplicationController;
19 |
20 | typedef NS_ENUM(NSInteger, MPMusicPlaybackState) {
| `- note: 'MPMusicPlaybackState' has been explicitly marked unavailable here
21 | MPMusicPlaybackStateStopped,
22 | MPMusicPlaybackStatePlaying,
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:7:6: error: 'Published' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
| `- error: 'Published' is only available in macOS 10.15 or newer
8 |
9 | private var player: (any MusicPlayerProtocol)?
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:10:30: error: 'AnyCancellable' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
8 |
9 | private var player: (any MusicPlayerProtocol)?
10 | private var observation: AnyCancellable?
| `- error: 'AnyCancellable' is only available in macOS 10.15 or newer
11 |
12 | func update(player: any MusicPlayerProtocol) {
<unknown>:0: error: cannot convert value of type 'KeyPath<NowPlayingLoader, Song?>' to expected argument type 'ReferenceWritableKeyPath<NowPlayingLoader, Song?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<NowPlayingLoader, MPMusicPlaybackState>' to expected argument type 'ReferenceWritableKeyPath<NowPlayingLoader, MPMusicPlaybackState>'
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:20:64: error: 'AnyCancellable' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
18 | }
19 |
20 | private func observe(_ player: any MusicPlayerProtocol) -> AnyCancellable {
| | `- error: 'AnyCancellable' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:22:39: error: 'AsyncStream' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
18 | }
19 |
20 | private func observe(_ player: any MusicPlayerProtocol) -> AnyCancellable {
| `- note: add @available attribute to enclosing instance method
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
| |- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
23 | let names: [Notification.Name] = [.MPMusicPlayerControllerNowPlayingItemDidChange, .MPMusicPlayerControllerPlaybackStateDidChange]
24 | let observers = names.map { name in
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:22:57: error: 'makeStream(of:bufferingPolicy:)' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
18 | }
19 |
20 | private func observe(_ player: any MusicPlayerProtocol) -> AnyCancellable {
| `- note: add @available attribute to enclosing instance method
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
| |- error: 'makeStream(of:bufferingPolicy:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
23 | let names: [Notification.Name] = [.MPMusicPlayerControllerNowPlayingItemDidChange, .MPMusicPlayerControllerPlaybackStateDidChange]
24 | let observers = names.map { name in
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:23:44: error: 'MPMusicPlayerControllerNowPlayingItemDidChange' is unavailable in macOS
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
23 | let names: [Notification.Name] = [.MPMusicPlayerControllerNowPlayingItemDidChange, .MPMusicPlayerControllerPlaybackStateDidChange]
| `- error: 'MPMusicPlayerControllerNowPlayingItemDidChange' is unavailable in macOS
24 | let observers = names.map { name in
25 | center.addObserver(forName: name, object: player, queue: nil) { _ in continuation.yield() }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMusicPlayerController.h:138:36: note: 'MPMusicPlayerControllerNowPlayingItemDidChange' has been explicitly marked unavailable here
136 |
137 | // Posted when the currently playing media item changes.
138 | MP_EXTERN NSNotificationName const MPMusicPlayerControllerNowPlayingItemDidChangeNotification
| `- note: 'MPMusicPlayerControllerNowPlayingItemDidChange' has been explicitly marked unavailable here
139 | MP_API(ios(3.0), tvos(14.0))
140 | API_UNAVAILABLE(watchos, macos);
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:23:93: error: 'MPMusicPlayerControllerPlaybackStateDidChange' is unavailable in macOS
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
23 | let names: [Notification.Name] = [.MPMusicPlayerControllerNowPlayingItemDidChange, .MPMusicPlayerControllerPlaybackStateDidChange]
| `- error: 'MPMusicPlayerControllerPlaybackStateDidChange' is unavailable in macOS
24 | let observers = names.map { name in
25 | center.addObserver(forName: name, object: player, queue: nil) { _ in continuation.yield() }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMusicPlayerController.h:133:36: note: 'MPMusicPlayerControllerPlaybackStateDidChange' has been explicitly marked unavailable here
131 |
132 | // Posted when the playback state changes, either programatically or by the user.
133 | MP_EXTERN NSNotificationName const MPMusicPlayerControllerPlaybackStateDidChangeNotification
| `- note: 'MPMusicPlayerControllerPlaybackStateDidChange' has been explicitly marked unavailable here
134 | MP_API(ios(3.0), tvos(14.0))
135 | API_UNAVAILABLE(watchos, macos);
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:25:95: error: 'yield()' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
18 | }
19 |
20 | private func observe(_ player: any MusicPlayerProtocol) -> AnyCancellable {
| `- note: add @available attribute to enclosing instance method
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
23 | let names: [Notification.Name] = [.MPMusicPlayerControllerNowPlayingItemDidChange, .MPMusicPlayerControllerPlaybackStateDidChange]
24 | let observers = names.map { name in
25 | center.addObserver(forName: name, object: player, queue: nil) { _ in continuation.yield() }
| |- error: 'yield()' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
26 | }
27 | player.beginGeneratingPlaybackNotifications()
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:28:20: error: 'Task' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
18 | }
19 |
20 | private func observe(_ player: any MusicPlayerProtocol) -> AnyCancellable {
| `- note: add @available attribute to enclosing instance method
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
:
26 | }
27 | player.beginGeneratingPlaybackNotifications()
28 | let task = Task { [weak self] in
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
29 | for await _ in changes {
30 | self?.refresh()
<unknown>:0: error: 'makeAsyncIterator()' is only available in macOS 10.15 or newer
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:28:20: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
18 | }
19 |
20 | private func observe(_ player: any MusicPlayerProtocol) -> AnyCancellable {
| `- note: add @available attribute to enclosing instance method
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
:
26 | }
27 | player.beginGeneratingPlaybackNotifications()
28 | let task = Task { [weak self] in
| |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
29 | for await _ in changes {
30 | self?.refresh()
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:33:16: error: 'AnyCancellable' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
18 | }
19 |
20 | private func observe(_ player: any MusicPlayerProtocol) -> AnyCancellable {
| `- note: add @available attribute to enclosing instance method
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
:
31 | }
32 | }
33 | return AnyCancellable {
| |- error: 'AnyCancellable' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
34 | observers.forEach(center.removeObserver)
35 | continuation.finish()
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:36:18: error: 'cancel()' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
18 | }
19 |
20 | private func observe(_ player: any MusicPlayerProtocol) -> AnyCancellable {
| `- note: add @available attribute to enclosing instance method
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
:
34 | observers.forEach(center.removeObserver)
35 | continuation.finish()
36 | task.cancel()
| |- error: 'cancel()' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
37 | player.endGeneratingPlaybackNotifications()
38 | }
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:43:55: error: setter for 'song' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
39 | }
40 |
41 | private func refresh() {
| `- note: add @available attribute to enclosing instance method
42 | let song = player?.nowPlayingSong
43 | if song?.mediaItem !== self.song?.mediaItem { self.song = song }
| |- error: setter for 'song' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
44 | let state = player?.playbackState ?? .stopped
45 | if state != playbackState { playbackState = state }
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:45:37: error: setter for 'playbackState' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
39 | }
40 |
41 | private func refresh() {
| `- note: add @available attribute to enclosing instance method
42 | let song = player?.nowPlayingSong
43 | if song?.mediaItem !== self.song?.mediaItem { self.song = song }
44 | let state = player?.playbackState ?? .stopped
45 | if state != playbackState { playbackState = state }
| |- error: setter for 'playbackState' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
46 | }
47 | }
[50/50] Compiling MediaBridge NowPlayingLoader.swift
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicLibraryEnvironment.swift:3:11: error: 'EnvironmentValues' is only available in macOS 10.15 or newer
1 | import SwiftUI
2 |
3 | extension EnvironmentValues {
| | `- error: 'EnvironmentValues' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing extension
4 | /// The library that ``MediaQuery`` and your views read from. Defaults to the device's library.
5 | @Entry public var musicLibrary: any MusicLibraryProtocol = deviceLibrary
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicLibraryEnvironment.swift:18:75: error: 'View' is only available in macOS 10.15 or newer
6 | }
7 |
8 | extension View {
| `- note: add @available attribute to enclosing extension
9 | /// Sets the library that ``MediaQuery`` and ``SwiftUICore/EnvironmentValues/musicLibrary`` read in
10 | /// this view hierarchy, such as a preview library.
:
16 | /// }
17 | /// ```
18 | public func musicLibrary(_ library: any MusicLibraryProtocol) -> some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
19 | environment(\.musicLibrary, library)
20 | }
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicLibraryEnvironment.swift:8:11: error: 'View' is only available in macOS 10.15 or newer
6 | }
7 |
8 | extension View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing extension
9 | /// Sets the library that ``MediaQuery`` and ``SwiftUICore/EnvironmentValues/musicLibrary`` read in
10 | /// this view hierarchy, such as a preview library.
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicLibraryEnvironment.swift:19:9: error: 'environment' is only available in macOS 10.15 or newer
6 | }
7 |
8 | extension View {
| `- note: add @available attribute to enclosing extension
9 | /// Sets the library that ``MediaQuery`` and ``SwiftUICore/EnvironmentValues/musicLibrary`` read in
10 | /// this view hierarchy, such as a preview library.
:
16 | /// }
17 | /// ```
18 | public func musicLibrary(_ library: any MusicLibraryProtocol) -> some View {
| `- note: add @available attribute to enclosing instance method
19 | environment(\.musicLibrary, library)
| |- error: 'environment' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
20 | }
21 | }
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicPlayerEnvironment.swift:8:62: error: 'MPMusicPlayerController' is unavailable in macOS
6 | /// `MPMusicPlayerController.applicationMusicPlayer`, which plays inside your app without
7 | /// changing the Music app's queue.
8 | @Entry public var musicPlayer: any MusicPlayerProtocol = MPMusicPlayerController.applicationMusicPlayer
| `- error: 'MPMusicPlayerController' is unavailable in macOS
9 | }
10 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMusicPlayerController.h:57:12: note: 'MPMusicPlayerController' has been explicitly marked unavailable here
55 | MP_API(ios(3.0), tvos(14.0))
56 | API_UNAVAILABLE(watchos, macos)
57 | @interface MPMusicPlayerController : NSObject <MPMediaPlayback>
| `- note: 'MPMusicPlayerController' has been explicitly marked unavailable here
58 |
59 | /// Playing items with applicationMusicPlayer does not affect Music's playback state.
macro expansion @Entry:3:56: error: 'MPMusicPlayerController' is unavailable in macOS
`- /Users/admin/builder/spi-builder-workspace/Sources/Views/MusicPlayerEnvironment.swift:8:108: note: expanded code originates here
6 | /// `MPMusicPlayerController.applicationMusicPlayer`, which plays inside your app without
7 | /// changing the Music app's queue.
8 | @Entry public var musicPlayer: any MusicPlayerProtocol = MPMusicPlayerController.applicationMusicPlayer
+--- macro expansion @Entry -----------------------------------------
|1 | private struct __Key_musicPlayer: SwiftUICore.EnvironmentKey {
|2 | @__EntryDefaultValue
|3 | static var defaultValue: any MusicPlayerProtocol = MPMusicPlayerController.applicationMusicPlayer
| | `- error: 'MPMusicPlayerController' is unavailable in macOS
|4 | }
+--------------------------------------------------------------------
9 | }
10 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMusicPlayerController.h:57:12: note: 'MPMusicPlayerController' has been explicitly marked unavailable here
55 | MP_API(ios(3.0), tvos(14.0))
56 | API_UNAVAILABLE(watchos, macos)
57 | @interface MPMusicPlayerController : NSObject <MPMediaPlayback>
| `- note: 'MPMusicPlayerController' has been explicitly marked unavailable here
58 |
59 | /// Playing items with applicationMusicPlayer does not affect Music's playback state.
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicPlayerEnvironment.swift:4:11: error: 'EnvironmentValues' is only available in macOS 10.15 or newer
2 | import SwiftUI
3 |
4 | extension EnvironmentValues {
| | `- error: 'EnvironmentValues' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing extension
5 | /// The player that ``NowPlaying`` and your views control. Defaults to
6 | /// `MPMusicPlayerController.applicationMusicPlayer`, which plays inside your app without
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicPlayerEnvironment.swift:19:72: error: 'View' is only available in macOS 10.15 or newer
9 | }
10 |
11 | extension View {
| `- note: add @available attribute to enclosing extension
12 | /// Sets the player that ``NowPlaying`` and ``SwiftUICore/EnvironmentValues/musicPlayer`` use in
13 | /// this view hierarchy.
:
17 | /// .musicPlayer(MPMusicPlayerController.systemMusicPlayer) // control the Music app
18 | /// ```
19 | public func musicPlayer(_ player: any MusicPlayerProtocol) -> some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
20 | environment(\.musicPlayer, player)
21 | }
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicPlayerEnvironment.swift:11:11: error: 'View' is only available in macOS 10.15 or newer
9 | }
10 |
11 | extension View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing extension
12 | /// Sets the player that ``NowPlaying`` and ``SwiftUICore/EnvironmentValues/musicPlayer`` use in
13 | /// this view hierarchy.
macro expansion @__EntryDefaultValue:3:9: error: 'MPMusicPlayerController' is unavailable in macOS
`- /Users/admin/builder/spi-builder-workspace/Sources/Views/MusicPlayerEnvironment.swift:8:108: note: expanded code originates here
6 | /// `MPMusicPlayerController.applicationMusicPlayer`, which plays inside your app without
7 | /// changing the Music app's queue.
8 | @Entry public var musicPlayer: any MusicPlayerProtocol = MPMusicPlayerController.applicationMusicPlayer
+--- macro expansion @Entry -----------------------------------------
|1 | private struct __Key_musicPlayer: SwiftUICore.EnvironmentKey {
|2 | @__EntryDefaultValue
|3 | static var defaultValue: any MusicPlayerProtocol = MPMusicPlayerController.applicationMusicPlayer
| +--- macro expansion @__EntryDefaultValue ------------------------
| |1 | {
| |2 | get {
| |3 | MPMusicPlayerController.applicationMusicPlayer
| | | `- error: 'MPMusicPlayerController' is unavailable in macOS
| |4 | }
| |5 | }
| +-----------------------------------------------------------------
|4 | }
+--------------------------------------------------------------------
9 | }
10 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMusicPlayerController.h:57:12: note: 'MPMusicPlayerController' has been explicitly marked unavailable here
55 | MP_API(ios(3.0), tvos(14.0))
56 | API_UNAVAILABLE(watchos, macos)
57 | @interface MPMusicPlayerController : NSObject <MPMediaPlayback>
| `- note: 'MPMusicPlayerController' has been explicitly marked unavailable here
58 |
59 | /// Playing items with applicationMusicPlayer does not affect Music's playback state.
/Users/admin/builder/spi-builder-workspace/Sources/Views/MusicPlayerEnvironment.swift:20:9: error: 'environment' is only available in macOS 10.15 or newer
9 | }
10 |
11 | extension View {
| `- note: add @available attribute to enclosing extension
12 | /// Sets the player that ``NowPlaying`` and ``SwiftUICore/EnvironmentValues/musicPlayer`` use in
13 | /// this view hierarchy.
:
17 | /// .musicPlayer(MPMusicPlayerController.systemMusicPlayer) // control the Music app
18 | /// ```
19 | public func musicPlayer(_ player: any MusicPlayerProtocol) -> some View {
| `- note: add @available attribute to enclosing instance method
20 | environment(\.musicPlayer, player)
| |- error: 'environment' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
21 | }
22 | }
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlaying.swift:28:6: error: 'Environment' is only available in macOS 10.15 or newer
25 | @MainActor
26 | @propertyWrapper
27 | public struct NowPlaying: @preconcurrency DynamicProperty {
| `- note: add @available attribute to enclosing struct
28 | @Environment(\.musicPlayer) private var player
| `- error: 'Environment' is only available in macOS 10.15 or newer
29 | @StateObject private var loader = NowPlayingLoader()
30 |
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlaying.swift:29:6: error: 'StateObject' is only available in macOS 11.0 or newer
25 | @MainActor
26 | @propertyWrapper
27 | public struct NowPlaying: @preconcurrency DynamicProperty {
| `- note: add @available attribute to enclosing struct
28 | @Environment(\.musicPlayer) private var player
29 | @StateObject private var loader = NowPlayingLoader()
| `- error: 'StateObject' is only available in macOS 11.0 or newer
30 |
31 | public init() {}
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlaying.swift:50:35: error: 'MPMusicPlaybackState' is unavailable in macOS
48 | public struct Status: Sendable {
49 | /// Whether the player is playing, paused, stopped, interrupted, or seeking.
50 | public let playbackState: MPMusicPlaybackState
| `- error: 'MPMusicPlaybackState' is unavailable in macOS
51 |
52 | /// Whether the song is playing now.
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMusicPlayerController.h:20:28: note: 'MPMusicPlaybackState' has been explicitly marked unavailable here
18 | @class MPMusicPlayerApplicationController;
19 |
20 | typedef NS_ENUM(NSInteger, MPMusicPlaybackState) {
| `- note: 'MPMusicPlaybackState' has been explicitly marked unavailable here
21 | MPMusicPlaybackStateStopped,
22 | MPMusicPlaybackStatePlaying,
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:6:6: error: 'Published' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
| `- error: 'Published' is only available in macOS 10.15 or newer
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
8 |
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:7:48: error: 'MPMusicPlaybackState' is unavailable in macOS
5 | final class NowPlayingLoader: ObservableObject {
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
| `- error: 'MPMusicPlaybackState' is unavailable in macOS
8 |
9 | private var player: (any MusicPlayerProtocol)?
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMusicPlayerController.h:20:28: note: 'MPMusicPlaybackState' has been explicitly marked unavailable here
18 | @class MPMusicPlayerApplicationController;
19 |
20 | typedef NS_ENUM(NSInteger, MPMusicPlaybackState) {
| `- note: 'MPMusicPlaybackState' has been explicitly marked unavailable here
21 | MPMusicPlaybackStateStopped,
22 | MPMusicPlaybackStatePlaying,
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:7:6: error: 'Published' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
| `- error: 'Published' is only available in macOS 10.15 or newer
8 |
9 | private var player: (any MusicPlayerProtocol)?
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:10:30: error: 'AnyCancellable' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
8 |
9 | private var player: (any MusicPlayerProtocol)?
10 | private var observation: AnyCancellable?
| `- error: 'AnyCancellable' is only available in macOS 10.15 or newer
11 |
12 | func update(player: any MusicPlayerProtocol) {
<unknown>:0: error: cannot convert value of type 'KeyPath<NowPlayingLoader, Song?>' to expected argument type 'ReferenceWritableKeyPath<NowPlayingLoader, Song?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<NowPlayingLoader, MPMusicPlaybackState>' to expected argument type 'ReferenceWritableKeyPath<NowPlayingLoader, MPMusicPlaybackState>'
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:20:64: error: 'AnyCancellable' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
18 | }
19 |
20 | private func observe(_ player: any MusicPlayerProtocol) -> AnyCancellable {
| | `- error: 'AnyCancellable' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:22:39: error: 'AsyncStream' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
18 | }
19 |
20 | private func observe(_ player: any MusicPlayerProtocol) -> AnyCancellable {
| `- note: add @available attribute to enclosing instance method
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
| |- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
23 | let names: [Notification.Name] = [.MPMusicPlayerControllerNowPlayingItemDidChange, .MPMusicPlayerControllerPlaybackStateDidChange]
24 | let observers = names.map { name in
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:22:57: error: 'makeStream(of:bufferingPolicy:)' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
18 | }
19 |
20 | private func observe(_ player: any MusicPlayerProtocol) -> AnyCancellable {
| `- note: add @available attribute to enclosing instance method
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
| |- error: 'makeStream(of:bufferingPolicy:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
23 | let names: [Notification.Name] = [.MPMusicPlayerControllerNowPlayingItemDidChange, .MPMusicPlayerControllerPlaybackStateDidChange]
24 | let observers = names.map { name in
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:23:44: error: 'MPMusicPlayerControllerNowPlayingItemDidChange' is unavailable in macOS
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
23 | let names: [Notification.Name] = [.MPMusicPlayerControllerNowPlayingItemDidChange, .MPMusicPlayerControllerPlaybackStateDidChange]
| `- error: 'MPMusicPlayerControllerNowPlayingItemDidChange' is unavailable in macOS
24 | let observers = names.map { name in
25 | center.addObserver(forName: name, object: player, queue: nil) { _ in continuation.yield() }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMusicPlayerController.h:138:36: note: 'MPMusicPlayerControllerNowPlayingItemDidChange' has been explicitly marked unavailable here
136 |
137 | // Posted when the currently playing media item changes.
138 | MP_EXTERN NSNotificationName const MPMusicPlayerControllerNowPlayingItemDidChangeNotification
| `- note: 'MPMusicPlayerControllerNowPlayingItemDidChange' has been explicitly marked unavailable here
139 | MP_API(ios(3.0), tvos(14.0))
140 | API_UNAVAILABLE(watchos, macos);
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:23:93: error: 'MPMusicPlayerControllerPlaybackStateDidChange' is unavailable in macOS
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
23 | let names: [Notification.Name] = [.MPMusicPlayerControllerNowPlayingItemDidChange, .MPMusicPlayerControllerPlaybackStateDidChange]
| `- error: 'MPMusicPlayerControllerPlaybackStateDidChange' is unavailable in macOS
24 | let observers = names.map { name in
25 | center.addObserver(forName: name, object: player, queue: nil) { _ in continuation.yield() }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMusicPlayerController.h:133:36: note: 'MPMusicPlayerControllerPlaybackStateDidChange' has been explicitly marked unavailable here
131 |
132 | // Posted when the playback state changes, either programatically or by the user.
133 | MP_EXTERN NSNotificationName const MPMusicPlayerControllerPlaybackStateDidChangeNotification
| `- note: 'MPMusicPlayerControllerPlaybackStateDidChange' has been explicitly marked unavailable here
134 | MP_API(ios(3.0), tvos(14.0))
135 | API_UNAVAILABLE(watchos, macos);
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:25:95: error: 'yield()' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
18 | }
19 |
20 | private func observe(_ player: any MusicPlayerProtocol) -> AnyCancellable {
| `- note: add @available attribute to enclosing instance method
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
23 | let names: [Notification.Name] = [.MPMusicPlayerControllerNowPlayingItemDidChange, .MPMusicPlayerControllerPlaybackStateDidChange]
24 | let observers = names.map { name in
25 | center.addObserver(forName: name, object: player, queue: nil) { _ in continuation.yield() }
| |- error: 'yield()' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
26 | }
27 | player.beginGeneratingPlaybackNotifications()
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:28:20: error: 'Task' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
18 | }
19 |
20 | private func observe(_ player: any MusicPlayerProtocol) -> AnyCancellable {
| `- note: add @available attribute to enclosing instance method
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
:
26 | }
27 | player.beginGeneratingPlaybackNotifications()
28 | let task = Task { [weak self] in
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
29 | for await _ in changes {
30 | self?.refresh()
<unknown>:0: error: 'makeAsyncIterator()' is only available in macOS 10.15 or newer
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:28:20: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
18 | }
19 |
20 | private func observe(_ player: any MusicPlayerProtocol) -> AnyCancellable {
| `- note: add @available attribute to enclosing instance method
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
:
26 | }
27 | player.beginGeneratingPlaybackNotifications()
28 | let task = Task { [weak self] in
| |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
29 | for await _ in changes {
30 | self?.refresh()
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:33:16: error: 'AnyCancellable' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
18 | }
19 |
20 | private func observe(_ player: any MusicPlayerProtocol) -> AnyCancellable {
| `- note: add @available attribute to enclosing instance method
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
:
31 | }
32 | }
33 | return AnyCancellable {
| |- error: 'AnyCancellable' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
34 | observers.forEach(center.removeObserver)
35 | continuation.finish()
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:36:18: error: 'cancel()' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
18 | }
19 |
20 | private func observe(_ player: any MusicPlayerProtocol) -> AnyCancellable {
| `- note: add @available attribute to enclosing instance method
21 | let center = NotificationCenter.default
22 | let (changes, continuation) = AsyncStream<Void>.makeStream(bufferingPolicy: .bufferingNewest(1))
:
34 | observers.forEach(center.removeObserver)
35 | continuation.finish()
36 | task.cancel()
| |- error: 'cancel()' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
37 | player.endGeneratingPlaybackNotifications()
38 | }
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:43:55: error: setter for 'song' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
39 | }
40 |
41 | private func refresh() {
| `- note: add @available attribute to enclosing instance method
42 | let song = player?.nowPlayingSong
43 | if song?.mediaItem !== self.song?.mediaItem { self.song = song }
| |- error: setter for 'song' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
44 | let state = player?.playbackState ?? .stopped
45 | if state != playbackState { playbackState = state }
/Users/admin/builder/spi-builder-workspace/Sources/Views/NowPlayingLoader.swift:45:37: error: setter for 'playbackState' is only available in macOS 10.15 or newer
3 |
4 | @MainActor
5 | final class NowPlayingLoader: ObservableObject {
| `- note: add @available attribute to enclosing class
6 | @Published private(set) var song: Song?
7 | @Published private(set) var playbackState: MPMusicPlaybackState = .stopped
:
39 | }
40 |
41 | private func refresh() {
| `- note: add @available attribute to enclosing instance method
42 | let song = player?.nowPlayingSong
43 | if song?.mediaItem !== self.song?.mediaItem { self.song = song }
44 | let state = player?.playbackState ?? .stopped
45 | if state != playbackState { playbackState = state }
| |- error: setter for 'playbackState' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
46 | }
47 | }
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.1 macosSpm