forked from xamarin/xamarin-macios
-
Notifications
You must be signed in to change notification settings - Fork 1
MediaPlayer macOS xcode9 beta3
Vincent Dondain edited this page Jul 10, 2017
·
2 revisions
#MediaPlayer.framework
diff -ruN /Applications/Xcode9-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPError.h /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPError.h
--- /Applications/Xcode9-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPError.h 2017-06-12 21:36:40.000000000 -0400
+++ /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPError.h 2017-06-30 01:08:44.000000000 -0400
@@ -10,7 +10,7 @@
NS_ASSUME_NONNULL_BEGIN
-MP_EXTERN NSString * const MPErrorDomain NS_AVAILABLE(10_12_2, 9_3);
+MP_EXTERN NSString * const MPErrorDomain MP_API(ios(9.3), macos(10.12.2));
// error codes for the MPErrorDomain
typedef NS_ENUM(NSInteger, MPErrorCode) {
@@ -20,8 +20,8 @@
MPErrorNetworkConnectionFailed, // the device could not connect to the network
MPErrorNotFound, // the id could not be found in the current storefront
MPErrorNotSupported, // the request is not supported (ex: trying to add items to a smart playlist)
- MPErrorCancelled NS_ENUM_AVAILABLE_IOS(10_1), // the request was cancelled before it could complete
- MPErrorRequestTimedOut NS_ENUM_AVAILABLE_IOS(10_3),
-} NS_ENUM_AVAILABLE_IOS(9_3);
+ MPErrorCancelled MP_API(ios(10.1)), // the request was cancelled before it could complete
+ MPErrorRequestTimedOut MP_API(ios(10.3)),
+} MP_API(ios(9.3));
NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode9-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaEntity.h /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaEntity.h
--- /Applications/Xcode9-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaEntity.h 2017-06-12 21:36:40.000000000 -0400
+++ /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaEntity.h 2017-06-30 01:08:44.000000000 -0400
@@ -17,7 +17,8 @@
// An MPMediaEntity represents an abstract member of an MPMediaLibrary.
// Concrete subclasses are MPMediaItem and MPMediaItemCollection.
-MP_API_IOS_AVAILABLE_MACOS_TVOS_PROHIBITED(4.2, 10.12.2, 4.2)
+MP_API(ios(4.2))
+MP_PROHIBITED(tvos, macos)
@interface MPMediaEntity : NSObject <NSSecureCoding>
// Returns YES for properties which can be used to construct MPMediaPropertyPredicates.
@@ -25,10 +26,10 @@
// Executes a provided block with the fetched values for the given item properties, or nil if no value is available for a property.
// In some cases, enumerating the values for multiple properties can be more efficient than fetching each individual property with -valueForProperty:.
-- (void)enumerateValuesForProperties:(NSSet<NSString *> *)properties usingBlock:(void (^)(NSString *property, id value, BOOL *stop))block NS_AVAILABLE_IOS(4_0);
+- (void)enumerateValuesForProperties:(NSSet<NSString *> *)properties usingBlock:(void (^)(NSString *property, id value, BOOL *stop))block MP_API(ios(4.0));
// Read-only support for Objective-C subscripting syntax with MPMediaEntity property constants.
-- (nullable id)objectForKeyedSubscript:(id)key NS_AVAILABLE_IOS(8_0);
+- (nullable id)objectForKeyedSubscript:(id)key MP_API(ios(8.0));
// Returns the value for the given entity property.
// MPMediaItem and MPMediaPlaylist have their own properties
@@ -36,8 +37,8 @@
#pragma mark - Properties
-MP_EXTERN NSString * const MPMediaEntityPropertyPersistentID NS_AVAILABLE(10_12_2, 4_2); // filterable
-@property (nonatomic, readonly) MPMediaEntityPersistentID persistentID NS_AVAILABLE_IOS(7_0);
+MP_EXTERN NSString * const MPMediaEntityPropertyPersistentID MP_API(ios(4.2)); // filterable
+@property (nonatomic, readonly) MPMediaEntityPersistentID persistentID MP_API(ios(7.0));
@end
diff -ruN /Applications/Xcode9-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItem.h /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItem.h
--- /Applications/Xcode9-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItem.h 2017-06-14 00:26:05.000000000 -0400
+++ /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItem.h 2017-06-30 04:11:14.000000000 -0400
@@ -16,177 +16,178 @@
typedef NS_OPTIONS(NSUInteger, MPMediaType) {
// audio
- MPMediaTypeMusic = 1 << 0,
- MPMediaTypePodcast = 1 << 1,
- MPMediaTypeAudioBook = 1 << 2,
- MPMediaTypeAudioITunesU NS_ENUM_AVAILABLE(10_12_2, 5_0) = 1 << 3,
- MPMediaTypeAnyAudio = 0x00ff,
+ MPMediaTypeMusic = 1 << 0,
+ MPMediaTypePodcast = 1 << 1,
+ MPMediaTypeAudioBook = 1 << 2,
+ MPMediaTypeAudioITunesU MP_API(ios(5.0), macos(10.12.2)) = 1 << 3,
+ MPMediaTypeAnyAudio = 0x00ff,
- // video (available in iOS 5.0)
- MPMediaTypeMovie NS_ENUM_AVAILABLE(10_12_2, 5_0) = 1 << 8,
- MPMediaTypeTVShow NS_ENUM_AVAILABLE(10_12_2, 5_0) = 1 << 9,
- MPMediaTypeVideoPodcast NS_ENUM_AVAILABLE(10_12_2, 5_0) = 1 << 10,
- MPMediaTypeMusicVideo NS_ENUM_AVAILABLE(10_12_2, 5_0) = 1 << 11,
- MPMediaTypeVideoITunesU NS_ENUM_AVAILABLE(10_12_2, 5_0) = 1 << 12,
- MPMediaTypeHomeVideo NS_ENUM_AVAILABLE(10_12_2, 7_0) = 1 << 13,
- MPMediaTypeAnyVideo NS_ENUM_AVAILABLE(10_12_2, 5_0) = 0xff00,
+ // video
+ MPMediaTypeMovie MP_API(ios(5.0), macos(10.12.2)) = 1 << 8,
+ MPMediaTypeTVShow MP_API(ios(5.0), macos(10.12.2)) = 1 << 9,
+ MPMediaTypeVideoPodcast MP_API(ios(5.0), macos(10.12.2)) = 1 << 10,
+ MPMediaTypeMusicVideo MP_API(ios(5.0), macos(10.12.2)) = 1 << 11,
+ MPMediaTypeVideoITunesU MP_API(ios(5.0), macos(10.12.2)) = 1 << 12,
+ MPMediaTypeHomeVideo MP_API(ios(7.0), macos(10.12.2)) = 1 << 13,
+ MPMediaTypeAnyVideo MP_API(ios(5.0), macos(10.12.2)) = 0xff00,
MPMediaTypeAny = ~0UL
-} MP_API_IOS_AVAILABLE_MACOS_TVOS_PROHIBITED(3.0, 10.12.2, 3.0);
+} MP_API(ios(3.0), tvos(9.0), macos(10.12.2));
// An MPMediaItem represents a single piece of media in an MPMediaLibrary.
// Media items have a unique identifier which persists across application launches.
-MP_API_IOS_AVAILABLE_MACOS_TVOS_PROHIBITED(3.0, 10.12.2, 3.0)
+MP_API(ios(3.0))
+MP_PROHIBITED(tvos, macos)
@interface MPMediaItem : MPMediaEntity
#pragma mark - Properties
// Properties marked filterable can also be used to build MPMediaPropertyPredicates (see MPMediaQuery.h).
-MP_EXTERN NSString * const MPMediaItemPropertyPersistentID NS_AVAILABLE(10_12_2, 4_2); // filterable
-@property (nonatomic, readonly) MPMediaEntityPersistentID persistentID NS_AVAILABLE_IOS(5_0);
+MP_EXTERN NSString * const MPMediaItemPropertyPersistentID MP_API(ios(4.2), macos(10.12.2)); // filterable
+@property (nonatomic, readonly) MPMediaEntityPersistentID persistentID MP_API(ios(5.0));
-MP_EXTERN NSString * const MPMediaItemPropertyMediaType; // filterable
-@property (nonatomic, readonly) MPMediaType mediaType NS_AVAILABLE_IOS(7_0);
+MP_EXTERN NSString * const MPMediaItemPropertyMediaType; // filterable
+@property (nonatomic, readonly) MPMediaType mediaType MP_API(ios(7.0));
-MP_EXTERN NSString * const MPMediaItemPropertyTitle; // filterable
-@property (nonatomic, readonly, nullable) NSString *title NS_AVAILABLE_IOS(7_0);
+MP_EXTERN NSString * const MPMediaItemPropertyTitle; // filterable
+@property (nonatomic, readonly, nullable) NSString *title MP_API(ios(7.0));
-MP_EXTERN NSString * const MPMediaItemPropertyAlbumTitle; // filterable
-@property (nonatomic, readonly, nullable) NSString *albumTitle NS_AVAILABLE_IOS(7_0);
+MP_EXTERN NSString * const MPMediaItemPropertyAlbumTitle; // filterable
+@property (nonatomic, readonly, nullable) NSString *albumTitle MP_API(ios(7.0));
-MP_EXTERN NSString * const MPMediaItemPropertyAlbumPersistentID NS_AVAILABLE(10_12_2, 4_2); // filterable
-@property (nonatomic, readonly) MPMediaEntityPersistentID albumPersistentID NS_AVAILABLE_IOS(8_0);
+MP_EXTERN NSString * const MPMediaItemPropertyAlbumPersistentID MP_API(ios(4.2), macos(10.12.2)); // filterable
+@property (nonatomic, readonly) MPMediaEntityPersistentID albumPersistentID MP_API(ios(8.0));
-MP_EXTERN NSString * const MPMediaItemPropertyArtist; // filterable
-@property (nonatomic, readonly, nullable) NSString *artist NS_AVAILABLE_IOS(7_0);
+MP_EXTERN NSString * const MPMediaItemPropertyArtist; // filterable
+@property (nonatomic, readonly, nullable) NSString *artist MP_API(ios(7.0));
-MP_EXTERN NSString * const MPMediaItemPropertyArtistPersistentID NS_AVAILABLE(10_12_2, 4_2); // filterable
-@property (nonatomic, readonly) MPMediaEntityPersistentID artistPersistentID NS_AVAILABLE_IOS(8_0);
+MP_EXTERN NSString * const MPMediaItemPropertyArtistPersistentID MP_API(ios(4.2), macos(10.12.2)); // filterable
+@property (nonatomic, readonly) MPMediaEntityPersistentID artistPersistentID MP_API(ios(8.0));
-MP_EXTERN NSString * const MPMediaItemPropertyAlbumArtist; // filterable
-@property (nonatomic, readonly, nullable) NSString *albumArtist NS_AVAILABLE_IOS(7_0);
+MP_EXTERN NSString * const MPMediaItemPropertyAlbumArtist; // filterable
+@property (nonatomic, readonly, nullable) NSString *albumArtist MP_API(ios(7.0));
-MP_EXTERN NSString * const MPMediaItemPropertyAlbumArtistPersistentID NS_AVAILABLE(10_12_2, 4_2); // filterable
-@property (nonatomic, readonly) MPMediaEntityPersistentID albumArtistPersistentID NS_AVAILABLE_IOS(8_0);
+MP_EXTERN NSString * const MPMediaItemPropertyAlbumArtistPersistentID MP_API(ios(4.2), macos(10.12.2)); // filterable
+@property (nonatomic, readonly) MPMediaEntityPersistentID albumArtistPersistentID MP_API(ios(8.0));
-MP_EXTERN NSString * const MPMediaItemPropertyGenre; // filterable
-@property (nonatomic, readonly, nullable) NSString *genre NS_AVAILABLE_IOS(7_0);
+MP_EXTERN NSString * const MPMediaItemPropertyGenre; // filterable
+@property (nonatomic, readonly, nullable) NSString *genre MP_API(ios(7.0));
-MP_EXTERN NSString * const MPMediaItemPropertyGenrePersistentID NS_AVAILABLE(10_12_2, 4_2); // filterable
-@property (nonatomic, readonly) MPMediaEntityPersistentID genrePersistentID NS_AVAILABLE_IOS(8_0);
+MP_EXTERN NSString * const MPMediaItemPropertyGenrePersistentID MP_API(ios(4.2), macos(10.12.2)); // filterable
+@property (nonatomic, readonly) MPMediaEntityPersistentID genrePersistentID MP_API(ios(8.0));
-MP_EXTERN NSString * const MPMediaItemPropertyComposer; // filterable
-@property (nonatomic, readonly, nullable) NSString *composer NS_AVAILABLE_IOS(7_0);
+MP_EXTERN NSString * const MPMediaItemPropertyComposer; // filterable
+@property (nonatomic, readonly, nullable) NSString *composer MP_API(ios(7.0));
-MP_EXTERN NSString * const MPMediaItemPropertyComposerPersistentID NS_AVAILABLE(10_12_2, 4_2); // filterable
-@property (nonatomic, readonly) MPMediaEntityPersistentID composerPersistentID NS_AVAILABLE_IOS(8_0);
+MP_EXTERN NSString * const MPMediaItemPropertyComposerPersistentID MP_API(ios(4.2), macos(10.12.2)); // filterable
+@property (nonatomic, readonly) MPMediaEntityPersistentID composerPersistentID MP_API(ios(8.0));
MP_EXTERN NSString * const MPMediaItemPropertyPlaybackDuration;
-@property (nonatomic, readonly) NSTimeInterval playbackDuration NS_AVAILABLE_IOS(7_0);
+@property (nonatomic, readonly) NSTimeInterval playbackDuration MP_API(ios(7.0));
MP_EXTERN NSString * const MPMediaItemPropertyAlbumTrackNumber;
-@property (nonatomic, readonly) NSUInteger albumTrackNumber NS_AVAILABLE_IOS(7_0);
+@property (nonatomic, readonly) NSUInteger albumTrackNumber MP_API(ios(7.0));
MP_EXTERN NSString * const MPMediaItemPropertyAlbumTrackCount;
-@property (nonatomic, readonly) NSUInteger albumTrackCount NS_AVAILABLE_IOS(8_0);
+@property (nonatomic, readonly) NSUInteger albumTrackCount MP_API(ios(8.0));
MP_EXTERN NSString * const MPMediaItemPropertyDiscNumber;
-@property (nonatomic, readonly) NSUInteger discNumber NS_AVAILABLE_IOS(7_0);
+@property (nonatomic, readonly) NSUInteger discNumber MP_API(ios(7.0));
MP_EXTERN NSString * const MPMediaItemPropertyDiscCount;
-@property (nonatomic, readonly) NSUInteger discCount NS_AVAILABLE_IOS(8_0);
+@property (nonatomic, readonly) NSUInteger discCount MP_API(ios(8.0));
MP_EXTERN NSString * const MPMediaItemPropertyArtwork;
-@property (nonatomic, readonly, nullable) MPMediaItemArtwork *artwork NS_AVAILABLE_IOS(7_0);
+@property (nonatomic, readonly, nullable) MPMediaItemArtwork *artwork MP_API(ios(7.0));
-MP_EXTERN NSString *const MPMediaItemPropertyIsExplicit NS_AVAILABLE(10_12_2, 7_0);
-@property (nonatomic, readonly, getter = isExplicitItem) BOOL explicitItem NS_AVAILABLE_IOS(10_0);
+MP_EXTERN NSString * const MPMediaItemPropertyIsExplicit MP_API(ios(7.0), macos(10.12.2));
+@property (nonatomic, readonly, getter = isExplicitItem) BOOL explicitItem MP_API(ios(10.0));
MP_EXTERN NSString * const MPMediaItemPropertyLyrics;
-@property (nonatomic, readonly, nullable) NSString *lyrics NS_AVAILABLE_IOS(8_0);
+@property (nonatomic, readonly, nullable) NSString *lyrics MP_API(ios(8.0));
-MP_EXTERN NSString * const MPMediaItemPropertyIsCompilation; // filterable
-@property (nonatomic, readonly, getter = isCompilation) BOOL compilation NS_AVAILABLE_IOS(8_0);
+MP_EXTERN NSString * const MPMediaItemPropertyIsCompilation; // filterable
+@property (nonatomic, readonly, getter = isCompilation) BOOL compilation MP_API(ios(8.0));
-MP_EXTERN NSString * const MPMediaItemPropertyReleaseDate NS_AVAILABLE(10_12_2, 4_0);
-@property (nonatomic, readonly, nullable) NSDate *releaseDate NS_AVAILABLE_IOS(7_0);
+MP_EXTERN NSString * const MPMediaItemPropertyReleaseDate MP_API(ios(4.0), macos(10.12.2));
+@property (nonatomic, readonly, nullable) NSDate *releaseDate MP_API(ios(7.0));
-MP_EXTERN NSString * const MPMediaItemPropertyBeatsPerMinute NS_AVAILABLE(10_12_2, 4_0);
-@property (nonatomic, readonly) NSUInteger beatsPerMinute NS_AVAILABLE_IOS(8_0);
+MP_EXTERN NSString * const MPMediaItemPropertyBeatsPerMinute MP_API(ios(4.0), macos(10.12.2));
+@property (nonatomic, readonly) NSUInteger beatsPerMinute MP_API(ios(8.0));
-MP_EXTERN NSString * const MPMediaItemPropertyComments NS_AVAILABLE(10_12_2, 4_0);
-@property (nonatomic, readonly, nullable) NSString *comments NS_AVAILABLE_IOS(8_0);
+MP_EXTERN NSString * const MPMediaItemPropertyComments MP_API(ios(4.0), macos(10.12.2));
+@property (nonatomic, readonly, nullable) NSString *comments MP_API(ios(8.0));
-MP_EXTERN NSString * const MPMediaItemPropertyAssetURL NS_AVAILABLE(10_12_2, 4_0);
-@property (nonatomic, readonly, nullable) NSURL *assetURL NS_AVAILABLE_IOS(8_0);
+MP_EXTERN NSString * const MPMediaItemPropertyAssetURL MP_API(ios(4.0), macos(10.12.2));
+@property (nonatomic, readonly, nullable) NSURL *assetURL MP_API(ios(8.0));
-MP_EXTERN NSString * const MPMediaItemPropertyIsCloudItem NS_AVAILABLE(10_12_2, 6_0); // filterable
-@property (nonatomic, readonly, getter = isCloudItem) BOOL cloudItem NS_AVAILABLE_IOS(8_0);
+MP_EXTERN NSString * const MPMediaItemPropertyIsCloudItem MP_API(ios(6.0), macos(10.12.2)); // filterable
+@property (nonatomic, readonly, getter = isCloudItem) BOOL cloudItem MP_API(ios(8.0));
-MP_EXTERN NSString * const MPMediaItemPropertyHasProtectedAsset NS_AVAILABLE(10_12_2, 9_2); // filterable
-@property (nonatomic, readonly, getter = hasProtectedAsset) BOOL protectedAsset NS_AVAILABLE_IOS(9_2);
+MP_EXTERN NSString * const MPMediaItemPropertyHasProtectedAsset MP_API(ios(9.2), macos(10.12.2)); // filterable
+@property (nonatomic, readonly, getter = hasProtectedAsset) BOOL protectedAsset MP_API(ios(9.2));
-MP_EXTERN NSString * const MPMediaItemPropertyPodcastTitle; // filterable
-@property (nonatomic, readonly, nullable) NSString *podcastTitle NS_AVAILABLE_IOS(7_0);
+MP_EXTERN NSString * const MPMediaItemPropertyPodcastTitle; // filterable
+@property (nonatomic, readonly, nullable) NSString *podcastTitle MP_API(ios(7.0));
-MP_EXTERN NSString * const MPMediaItemPropertyPodcastPersistentID NS_AVAILABLE(10_12_2, 4_2); // filterable
-@property (nonatomic, readonly) MPMediaEntityPersistentID podcastPersistentID NS_AVAILABLE_IOS(8_0);
+MP_EXTERN NSString * const MPMediaItemPropertyPodcastPersistentID MP_API(ios(4.2), macos(10.12.2)); // filterable
+@property (nonatomic, readonly) MPMediaEntityPersistentID podcastPersistentID MP_API(ios(8.0));
-MP_EXTERN NSString * const MPMediaItemPropertyPlayCount; // filterable
-@property (nonatomic, readonly) NSUInteger playCount NS_AVAILABLE_IOS(7_0);
+MP_EXTERN NSString * const MPMediaItemPropertyPlayCount; // filterable
+@property (nonatomic, readonly) NSUInteger playCount MP_API(ios(7.0));
MP_EXTERN NSString * const MPMediaItemPropertySkipCount;
-@property (nonatomic, readonly) NSUInteger skipCount NS_AVAILABLE_IOS(7_0);
+@property (nonatomic, readonly) NSUInteger skipCount MP_API(ios(7.0));
MP_EXTERN NSString * const MPMediaItemPropertyRating;
-@property (nonatomic, readonly) NSUInteger rating NS_AVAILABLE_IOS(7_0);
+@property (nonatomic, readonly) NSUInteger rating MP_API(ios(7.0));
MP_EXTERN NSString * const MPMediaItemPropertyLastPlayedDate;
-@property (nonatomic, readonly, nullable) NSDate *lastPlayedDate NS_AVAILABLE_IOS(7_0);
+@property (nonatomic, readonly, nullable) NSDate *lastPlayedDate MP_API(ios(7.0));
-MP_EXTERN NSString * const MPMediaItemPropertyUserGrouping NS_AVAILABLE(10_12_2, 4_0);
-@property (nonatomic, readonly, nullable) NSString *userGrouping NS_AVAILABLE_IOS(8_0);
+MP_EXTERN NSString * const MPMediaItemPropertyUserGrouping MP_API(ios(4.0), macos(10.12.2));
+@property (nonatomic, readonly, nullable) NSString *userGrouping MP_API(ios(8.0));
-MP_EXTERN NSString * const MPMediaItemPropertyBookmarkTime NS_AVAILABLE(10_12_2, 6_0);
-@property (nonatomic, readonly) NSTimeInterval bookmarkTime NS_AVAILABLE_IOS(7_0);
+MP_EXTERN NSString * const MPMediaItemPropertyBookmarkTime MP_API(ios(6.0), macos(10.12.2));
+@property (nonatomic, readonly) NSTimeInterval bookmarkTime MP_API(ios(7.0));
-MP_EXTERN NSString * const MPMediaItemPropertyDateAdded NS_AVAILABLE(10_12_2, 10_0);
-@property (nonatomic, readonly) NSDate *dateAdded NS_AVAILABLE_IOS(10_0);
+MP_EXTERN NSString * const MPMediaItemPropertyDateAdded MP_API(ios(10.0), macos(10.12.2));
+@property (nonatomic, readonly) NSDate *dateAdded MP_API(ios(10.0));
-// Matches the id used by MPMusicPlayerController to enqueue store tracks
-MP_EXTERN NSString * const MPMediaItemPropertyPlaybackStoreID NS_AVAILABLE_IOS(10_3);
-@property (nonatomic, readonly) NSString *playbackStoreID NS_AVAILABLE_IOS(10_3);
+// Matches the id used by MPMusicPlayerController to enqueue store tracks
+MP_EXTERN NSString * const MPMediaItemPropertyPlaybackStoreID MP_API(ios(10.3));
+@property (nonatomic, readonly) NSString *playbackStoreID MP_API(ios(10.3));
@end
//-----------------------------------------------------
-MP_API(ios(3.0), tvos(3.0), macos(10.12.2))
+MP_API(ios(3.0), tvos(9.0), macos(10.12.2))
@interface MPMediaItemArtwork : NSObject
#if TARGET_OS_IPHONE
-- (instancetype)initWithBoundsSize:(CGSize)boundsSize requestHandler:(UIImage *(^)(CGSize size))requestHandler NS_DESIGNATED_INITIALIZER NS_AVAILABLE_IOS(10_0);
+- (instancetype)initWithBoundsSize:(CGSize)boundsSize requestHandler:(UIImage *(^)(CGSize size))requestHandler NS_DESIGNATED_INITIALIZER MP_API(ios(10.0), tvos(10.0));
// Returns the artwork image for an item at a given size (in points).
- (nullable UIImage *)imageWithSize:(CGSize)size;
#else
-- (instancetype)initWithBoundsSize:(CGSize)boundsSize requestHandler:(NSImage *(^)(CGSize size))requestHandler NS_DESIGNATED_INITIALIZER NS_AVAILABLE_MAC(10_12_2);
+- (instancetype)initWithBoundsSize:(CGSize)boundsSize requestHandler:(NSImage *(^)(CGSize size))requestHandler NS_DESIGNATED_INITIALIZER MP_API(ios(10.12.2));
// Returns the artwork image for an item at a given size (in points).
-- (nullable NSImage *)imageWithSize:(CGSize)size NS_AVAILABLE_MAC(10_12_2);
+- (nullable NSImage *)imageWithSize:(CGSize)size MP_API(ios(10.12.2));
#endif
@property (nonatomic, readonly) CGRect bounds; // The bounds of the full size image (in points).
-@property (nonatomic, readonly) CGRect imageCropRect NS_DEPRECATED_IOS(3_0, 10_0);
+@property (nonatomic, readonly) CGRect imageCropRect MP_DEPRECATED("cropRect is no longer used", ios(3.0, 10.0));
#if TARGET_OS_IPHONE
-- (instancetype)initWithImage:(UIImage *)image NS_DEPRECATED_IOS(5_0, 10_0);
+- (instancetype)initWithImage:(UIImage *)image MP_DEPRECATED("Use -initWithBoundsSize:requestHandler:", ios(5.0, 10.0));
#endif
- (id)init NS_UNAVAILABLE;
@@ -194,3 +195,4 @@
@end
NS_ASSUME_NONNULL_END
+
diff -ruN /Applications/Xcode9-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPNowPlayingInfoCenter.h /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPNowPlayingInfoCenter.h
--- /Applications/Xcode9-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPNowPlayingInfoCenter.h 2017-06-16 00:48:57.000000000 -0400
+++ /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPNowPlayingInfoCenter.h 2017-06-30 04:11:14.000000000 -0400
@@ -39,7 +39,7 @@
MPNowPlayingInfoMediaTypeNone = 0,
MPNowPlayingInfoMediaTypeAudio,
MPNowPlayingInfoMediaTypeVideo,
-} NS_AVAILABLE(10_12_2, 10_0);
+} MP_API(ios(10.0), macos(10.12.2));
typedef NS_ENUM(NSUInteger, MPNowPlayingPlaybackState) {
MPNowPlayingPlaybackStateUnknown = 0,
@@ -76,12 +76,12 @@
// Note the elapsed time will be automatically extrapolated from the previously
// provided elapsed time and playback rate, so updating this property frequently
// is not required (or recommended.)
-MP_EXTERN NSString *const MPNowPlayingInfoPropertyElapsedPlaybackTime NS_AVAILABLE(10_12_2, 5_0); // NSNumber (double)
+MP_EXTERN NSString * const MPNowPlayingInfoPropertyElapsedPlaybackTime MP_API(ios(5.0), macos(10.12.2)); // NSNumber (double)
// The playback rate of the now playing item, with 1.0 representing normal
// playback. For example, 2.0 would represent playback at twice the normal rate.
// If not specified, assumed to be 1.0.
-MP_EXTERN NSString *const MPNowPlayingInfoPropertyPlaybackRate NS_AVAILABLE(10_12_2, 5_0); // NSNumber (double)
+MP_EXTERN NSString * const MPNowPlayingInfoPropertyPlaybackRate MP_API(ios(5.0), macos(10.12.2)); // NSNumber (double)
// The "default" playback rate of the now playing item. You should set this
// property if your app is playing a media item at a rate other than 1.0 in a
@@ -90,53 +90,53 @@
// playback rate should also be 2.0. Conversely, if you are playing back content
// at a normal rate (1.0) but the user is fast-forwarding your content at a rate
// greater than 1.0, then the default playback rate should be set to 1.0.
-MP_EXTERN NSString *const MPNowPlayingInfoPropertyDefaultPlaybackRate NS_AVAILABLE(10_12_2, 8_0); // NSNumber (double)
+MP_EXTERN NSString * const MPNowPlayingInfoPropertyDefaultPlaybackRate MP_API(ios(8.0), macos(10.12.2)); // NSNumber (double)
// The index of the now playing item in the application's playback queue.
// Note that the queue uses zero-based indexing, so the index of the first item
// would be 0 if the item should be displayed as "item 1 of 10".
-MP_EXTERN NSString *const MPNowPlayingInfoPropertyPlaybackQueueIndex NS_AVAILABLE(10_12_2, 5_0); // NSNumber (NSUInteger)
+MP_EXTERN NSString * const MPNowPlayingInfoPropertyPlaybackQueueIndex MP_API(ios(5.0), macos(10.12.2)); // NSNumber (NSUInteger)
// The total number of items in the application's playback queue.
-MP_EXTERN NSString *const MPNowPlayingInfoPropertyPlaybackQueueCount NS_AVAILABLE(10_12_2, 5_0); // NSNumber (NSUInteger)
+MP_EXTERN NSString * const MPNowPlayingInfoPropertyPlaybackQueueCount MP_API(ios(5.0), macos(10.12.2)); // NSNumber (NSUInteger)
// The chapter currently being played. Note that this is zero-based.
-MP_EXTERN NSString *const MPNowPlayingInfoPropertyChapterNumber NS_AVAILABLE(10_12_2, 5_0); // NSNumber (NSUInteger)
+MP_EXTERN NSString * const MPNowPlayingInfoPropertyChapterNumber MP_API(ios(5.0), macos(10.12.2)); // NSNumber (NSUInteger)
// The total number of chapters in the now playing item.
-MP_EXTERN NSString *const MPNowPlayingInfoPropertyChapterCount NS_AVAILABLE(10_12_2, 5_0); // NSNumber (NSUInteger)
+MP_EXTERN NSString * const MPNowPlayingInfoPropertyChapterCount MP_API(ios(5.0), macos(10.12.2)); // NSNumber (NSUInteger)
// A boolean denoting whether the now playing item is a live stream.
-MP_EXTERN NSString *const MPNowPlayingInfoPropertyIsLiveStream NS_AVAILABLE(10_12_2, 10_0); // NSNumber (BOOL)
+MP_EXTERN NSString * const MPNowPlayingInfoPropertyIsLiveStream MP_API(ios(10.0), macos(10.12.2)); // NSNumber (BOOL)
// A list of available language option groups in the now playing item
// Only one language option in a given group can be played at once.
-MP_EXTERN NSString *const MPNowPlayingInfoPropertyAvailableLanguageOptions NS_AVAILABLE(10_12_2, 9_0); // NSArrayRef of MPNowPlayingInfoLanguageOptionGroup
+MP_EXTERN NSString * const MPNowPlayingInfoPropertyAvailableLanguageOptions MP_API(ios(9.0), macos(10.12.2)); // NSArrayRef of MPNowPlayingInfoLanguageOptionGroup
// A list of currently active language options in the now playing item.
-MP_EXTERN NSString *const MPNowPlayingInfoPropertyCurrentLanguageOptions NS_AVAILABLE(10_12_2, 9_0); // NSArray of MPNowPlayingInfoLanguageOption
+MP_EXTERN NSString * const MPNowPlayingInfoPropertyCurrentLanguageOptions MP_API(ios(9.0), macos(10.12.2)); // NSArray of MPNowPlayingInfoLanguageOption
// An identifier that represents the collection to which the now playing item belongs.
// This can refer to an artist, album, playlist, etc.
// This can be used to ask the now playing app to resume playback of the collection.
-MP_EXTERN NSString *const MPNowPlayingInfoCollectionIdentifier NS_AVAILABLE(10_12_2, 9_3); // NSString
+MP_EXTERN NSString * const MPNowPlayingInfoCollectionIdentifier MP_API(ios(9.3), macos(10.12.2)); // NSString
// An opaque identifier that uniquely represents the now playing item,
// even across app relaunches. This can be in any format and is only used to
// reference this item back to the now playing app.
-MP_EXTERN NSString *const MPNowPlayingInfoPropertyExternalContentIdentifier NS_AVAILABLE(10_12_2, 10_0); // NSString
+MP_EXTERN NSString * const MPNowPlayingInfoPropertyExternalContentIdentifier MP_API(ios(10.0), macos(10.12.2)); // NSString
// An optional opaque identifier that uniquely represents the profile that the
// now playing item is being played from, even across app relauches.
// This can be in any format and is only used to reference this profile back to
// the now playing app.
-MP_EXTERN NSString *const MPNowPlayingInfoPropertyExternalUserProfileIdentifier NS_AVAILABLE(10_12_2, 10_0); // NSString
+MP_EXTERN NSString * const MPNowPlayingInfoPropertyExternalUserProfileIdentifier MP_API(ios(10.0), macos(10.12.2)); // NSString
// A unique string that identifies a service provider. If the now playing item
// belongs to a channel or subscription service, this key can be used to
// coordinate various types of now playing content from a particular service
// provider.
-MP_EXTERN NSString *const MPNowPlayingInfoPropertyServiceIdentifier NS_AVAILABLE(10_13, 11_0); // NSString
+MP_EXTERN NSString * const MPNowPlayingInfoPropertyServiceIdentifier MP_API(ios(11.0), macos(10.13)); // NSString
// Represents the current playback progress of the now playing item.
// 0.0 = not watched/listened/viewed, 1.0 = fully watched/listened/viewed
@@ -144,15 +144,15 @@
// as it is used as a high level indicator as to how far along the user is.
// For example, a movie may wish to set the now playing item as fully watched
// when the credits begin to roll.
-MP_EXTERN NSString *const MPNowPlayingInfoPropertyPlaybackProgress NS_AVAILABLE(10_12_2, 10_0); // NSNumber (float)
+MP_EXTERN NSString * const MPNowPlayingInfoPropertyPlaybackProgress MP_API(ios(10.0), macos(10.12.2)); // NSNumber (float)
// Indicates the media type of the now playing item
// This can be used to determine what kind of user interface the system displays.
-MP_EXTERN NSString *const MPNowPlayingInfoPropertyMediaType NS_AVAILABLE(10_12_2, 10_0); // NSNumber (MPNowPlayingInfoMediaType)
+MP_EXTERN NSString * const MPNowPlayingInfoPropertyMediaType MP_API(ios(10.0), macos(10.12.2)); // NSNumber (MPNowPlayingInfoMediaType)
// A URL pointing to the now playing item's underlying audio/video asset. This
// property is used by system UI when video thumbnails or audio waveform
// visualizations are applicable.
-MP_EXTERN NSString *const MPNowPlayingInfoPropertyAssetURL NS_AVAILABLE(10_12_3, 10_3); // NSURL
+MP_EXTERN NSString * const MPNowPlayingInfoPropertyAssetURL MP_API(ios(10.3), macos(10.12.3)); // NSURL
NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode9-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPNowPlayingInfoLanguageOption.h /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPNowPlayingInfoLanguageOption.h
--- /Applications/Xcode9-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPNowPlayingInfoLanguageOption.h 2017-06-12 21:36:40.000000000 -0400
+++ /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPNowPlayingInfoLanguageOption.h 2017-06-30 04:11:14.000000000 -0400
@@ -22,21 +22,21 @@
// Common values used to to populate MPNowPlayingInfoLanguageOption's
// characteristics property.
// See the AVMediaSelectionOption documentation about Media Characteristics for more details.
-MP_EXTERN NSString *const MPLanguageOptionCharacteristicIsMainProgramContent NS_AVAILABLE(10_12_2, 9_0);
-MP_EXTERN NSString *const MPLanguageOptionCharacteristicIsAuxiliaryContent NS_AVAILABLE(10_12_2, 9_0);
-MP_EXTERN NSString *const MPLanguageOptionCharacteristicContainsOnlyForcedSubtitles NS_AVAILABLE(10_12_2, 9_0);
-MP_EXTERN NSString *const MPLanguageOptionCharacteristicTranscribesSpokenDialog NS_AVAILABLE(10_12_2, 9_0);
-MP_EXTERN NSString *const MPLanguageOptionCharacteristicDescribesMusicAndSound NS_AVAILABLE(10_12_2, 9_0);
-MP_EXTERN NSString *const MPLanguageOptionCharacteristicEasyToRead NS_AVAILABLE(10_12_2, 9_0);
-MP_EXTERN NSString *const MPLanguageOptionCharacteristicDescribesVideo NS_AVAILABLE(10_12_2, 9_0);
-MP_EXTERN NSString *const MPLanguageOptionCharacteristicLanguageTranslation NS_AVAILABLE(10_12_2, 9_0);
-MP_EXTERN NSString *const MPLanguageOptionCharacteristicDubbedTranslation NS_AVAILABLE(10_12_2, 9_0);
-MP_EXTERN NSString *const MPLanguageOptionCharacteristicVoiceOverTranslation NS_AVAILABLE(10_12_2, 9_0);
+MP_EXTERN NSString * const MPLanguageOptionCharacteristicIsMainProgramContent MP_API(ios(9.0), macos(10.12.2));
+MP_EXTERN NSString * const MPLanguageOptionCharacteristicIsAuxiliaryContent MP_API(ios(9.0), macos(10.12.2));
+MP_EXTERN NSString * const MPLanguageOptionCharacteristicContainsOnlyForcedSubtitles MP_API(ios(9.0), macos(10.12.2));
+MP_EXTERN NSString * const MPLanguageOptionCharacteristicTranscribesSpokenDialog MP_API(ios(9.0), macos(10.12.2));
+MP_EXTERN NSString * const MPLanguageOptionCharacteristicDescribesMusicAndSound MP_API(ios(9.0), macos(10.12.2));
+MP_EXTERN NSString * const MPLanguageOptionCharacteristicEasyToRead MP_API(ios(9.0), macos(10.12.2));
+MP_EXTERN NSString * const MPLanguageOptionCharacteristicDescribesVideo MP_API(ios(9.0), macos(10.12.2));
+MP_EXTERN NSString * const MPLanguageOptionCharacteristicLanguageTranslation MP_API(ios(9.0), macos(10.12.2));
+MP_EXTERN NSString * const MPLanguageOptionCharacteristicDubbedTranslation MP_API(ios(9.0), macos(10.12.2));
+MP_EXTERN NSString * const MPLanguageOptionCharacteristicVoiceOverTranslation MP_API(ios(9.0), macos(10.12.2));
typedef NS_ENUM(NSUInteger, MPNowPlayingInfoLanguageOptionType) {
MPNowPlayingInfoLanguageOptionTypeAudible,
MPNowPlayingInfoLanguageOptionTypeLegible,
-} NS_ENUM_AVAILABLE(10_12_2, 9_0);
+} MP_API(ios(9.0), macos(10.12.2));
// -----------------------------------------------------------------------------
diff -ruN /Applications/Xcode9-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPPlayableContentManagerContext.h /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPPlayableContentManagerContext.h
--- /Applications/Xcode9-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPPlayableContentManagerContext.h 2017-06-12 21:36:40.000000000 -0400
+++ /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPPlayableContentManagerContext.h 2017-06-30 01:08:44.000000000 -0400
@@ -11,7 +11,8 @@
/// MPPlayableContentManagerContext represents the current state of
/// the playable content endpoint. A context is retrievable from an instance
/// of MPPlayableContentManager.
-MP_API_IOS_AVAILABLE_MACOS_TVOS_PROHIBITED(8.4, 10.12.2, 8.4)
+MP_API(ios(8.4))
+MP_PROHIBITED(tvos, macos)
@interface MPPlayableContentManagerContext : NSObject
/// The number of items the content server will display when content limiting is enforced.
@@ -23,7 +24,7 @@
/// Represents whether content limits are being enforced by the content server or not.
@property (nonatomic, readonly) BOOL contentLimitsEnforced;
-@property (nonatomic, readonly) BOOL contentLimitsEnabled NS_DEPRECATED_IOS(8_4, 9_0, "Use contentLimitsEnforced");
+@property (nonatomic, readonly) BOOL contentLimitsEnabled MP_DEPRECATED_WITH_REPLACEMENT("contentLimitsEnforced", ios(8.4, 9.0));
/// Represents whether the content server is available or not.
@property (nonatomic, readonly) BOOL endpointAvailable;
diff -ruN /Applications/Xcode9-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPRemoteCommand.h /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPRemoteCommand.h
--- /Applications/Xcode9-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPRemoteCommand.h 2017-06-14 00:26:05.000000000 -0400
+++ /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPRemoteCommand.h 2017-07-03 22:55:50.000000000 -0400
@@ -25,11 +25,11 @@
/// available that is required for this command. As an example, an
/// application would return this error code if an "enable language option"
/// command is received, but nothing is currently playing.
- MPRemoteCommandHandlerStatusNoActionableNowPlayingItem NS_ENUM_AVAILABLE(10_12_2, 9_1) = 110,
+ MPRemoteCommandHandlerStatusNoActionableNowPlayingItem MP_API(ios(9.1), macos(10.12.2)) = 110,
/// The command could not be executed for another reason.
MPRemoteCommandHandlerStatusCommandFailed = 200
-} NS_ENUM_AVAILABLE(10_12_2, 7_1);
+} MP_API(ios(7.1), macos(10.12.2));
MP_API(ios(7.1), tvos(7.1), macos(10.12.2))
@interface MPRemoteCommand : NSObject
@@ -81,7 +81,7 @@
/// An optional shorter version of the localized title for this feedback
/// command. MediaPlayer uses this property to display this command's title on
/// remote control interfaces with little screen space.
-@property (nonatomic, copy) NSString *localizedShortTitle NS_AVAILABLE_IOS(8_0);
+@property (nonatomic, copy) NSString *localizedShortTitle MP_API(ios(8.0));
@end
diff -ruN /Applications/Xcode9-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPRemoteCommandCenter.h /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPRemoteCommandCenter.h
--- /Applications/Xcode9-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPRemoteCommandCenter.h 2017-06-12 21:36:40.000000000 -0400
+++ /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPRemoteCommandCenter.h 2017-06-30 01:08:44.000000000 -0400
@@ -27,8 +27,8 @@
@property (nonatomic, readonly) MPRemoteCommand *playCommand;
@property (nonatomic, readonly) MPRemoteCommand *stopCommand;
@property (nonatomic, readonly) MPRemoteCommand *togglePlayPauseCommand;
-@property (nonatomic, readonly) MPRemoteCommand *enableLanguageOptionCommand NS_AVAILABLE(10_12_2, 9_0);
-@property (nonatomic, readonly) MPRemoteCommand *disableLanguageOptionCommand NS_AVAILABLE(10_12_2, 9_0);
+@property (nonatomic, readonly) MPRemoteCommand *enableLanguageOptionCommand MP_API(ios(9.0), macos(10.12.2));
+@property (nonatomic, readonly) MPRemoteCommand *disableLanguageOptionCommand MP_API(ios(9.0), macos(10.12.2));
@property (nonatomic, readonly) MPChangePlaybackRateCommand *changePlaybackRateCommand;
@property (nonatomic, readonly) MPChangeRepeatModeCommand *changeRepeatModeCommand;
@property (nonatomic, readonly) MPChangeShuffleModeCommand *changeShuffleModeCommand;
@@ -44,7 +44,7 @@
// Seek Commands
@property (nonatomic, readonly) MPRemoteCommand *seekForwardCommand;
@property (nonatomic, readonly) MPRemoteCommand *seekBackwardCommand;
-@property (nonatomic, readonly) MPChangePlaybackPositionCommand *changePlaybackPositionCommand NS_AVAILABLE(10_12_2, 9_1);
+@property (nonatomic, readonly) MPChangePlaybackPositionCommand *changePlaybackPositionCommand MP_API(ios(9.1), macos(10.12.2));
// Rating Command
@property (nonatomic, readonly) MPRatingCommand *ratingCommand;
diff -ruN /Applications/Xcode9-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPRemoteCommandEvent.h /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPRemoteCommandEvent.h
--- /Applications/Xcode9-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPRemoteCommandEvent.h 2017-06-16 00:45:40.000000000 -0400
+++ /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPRemoteCommandEvent.h 2017-06-30 01:08:44.000000000 -0400
@@ -36,7 +36,7 @@
typedef NS_ENUM(NSUInteger, MPSeekCommandEventType) {
MPSeekCommandEventTypeBeginSeeking,
MPSeekCommandEventTypeEndSeeking
-} NS_ENUM_AVAILABLE(10_12_2, 7_1);
+} MP_API(ios(7.1), macos(10.12.2));
MP_API(ios(7.1), tvos(7.1), macos(10.12.2))
@interface MPSeekCommandEvent : MPRemoteCommandEvent
diff -ruN /Applications/Xcode9-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPRemoteControlTypes.h /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPRemoteControlTypes.h
--- /Applications/Xcode9-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPRemoteControlTypes.h 2017-06-12 21:36:40.000000000 -0400
+++ /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPRemoteControlTypes.h 2017-06-30 01:08:44.000000000 -0400
@@ -12,16 +12,16 @@
MPShuffleTypeOff, /// Nothing is shuffled during playback.
MPShuffleTypeItems, /// Individual items are shuffled during playback.
MPShuffleTypeCollections, /// Collections (e.g. albums) are shuffled during playback.
-} NS_ENUM_AVAILABLE(10_12_2, 3_0);
+} MP_API(ios(3.0), macos(10.12.2));
typedef NS_ENUM(NSInteger, MPRepeatType) {
MPRepeatTypeOff, /// Nothing is repeated during playback.
MPRepeatTypeOne, /// Repeat a single item indefinitely.
MPRepeatTypeAll, /// Repeat the current container or playlist indefinitely.
-} NS_ENUM_AVAILABLE(10_12_2, 3_0);
+} MP_API(ios(3.0), macos(10.12.2));
typedef NS_ENUM(NSInteger, MPChangeLanguageOptionSetting) {
MPChangeLanguageOptionSettingNone, /// No Language Option Change
MPChangeLanguageOptionSettingNowPlayingItemOnly, /// The Language Option change applies only the the now playing item
MPChangeLanguageOptionSettingPermanent /// The Language Option change should apply to all future playback
-} NS_ENUM_AVAILABLE(10_12_2, 9_4);
+} MP_API(ios(9.3), macos(10.12.2));
diff -ruN /Applications/Xcode9-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MediaPlayerDefines.h /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MediaPlayerDefines.h
--- /Applications/Xcode9-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MediaPlayerDefines.h 2017-06-12 21:36:40.000000000 -0400
+++ /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MediaPlayerDefines.h 2017-06-30 01:08:44.000000000 -0400
@@ -5,37 +5,39 @@
// Copyright 2008 Apple, Inc. All rights reserved.
//
+#import <Availability.h>
+#import <TargetConditionals.h>
+
#ifdef __cplusplus
#define MP_EXTERN extern "C" __attribute__((visibility ("default")))
#else
-#define MP_EXTERN extern __attribute__((visibility ("default")))
+#define MP_EXTERN extern __attribute__((visibility ("default")))
#endif
-#define MP_EXTERN_CLASS __attribute__((visibility("default")))
-#define MP_EXTERN_CLASS_AVAILABLE(version) __attribute__((visibility("default"))) NS_CLASS_AVAILABLE(NA, version)
-#define MP_EXTERN_CLASS_AVAILABLE_X(ios, mac) __attribute__((visibility("default"))) NS_CLASS_AVAILABLE(mac, ios)
-
-#define MP_API __attribute__((visibility("default"))) __API_AVAILABLE
-#define MP_DEPRECATED __attribute__((visibility("default"))) __API_DEPRECATED
-#define MP_DEPRECATED_WITH_REPLACEMENT __attribute__((visibility("default"))) __API_DEPRECATED_WITH_REPLACEMENT
-#define MP_UNAVAILABLE __attribute__((visibility("default"))) __API_UNAVAILABLE
+#define MP_API(...) __API_AVAILABLE(__VA_ARGS__)
+#define MP_DEPRECATED(...) __API_DEPRECATED(__VA_ARGS__)
+#define MP_UNAVAILABLE(...) __API_UNAVAILABLE(__VA_ARGS__)
+#define MP_DEPRECATED_WITH_REPLACEMENT(...) __API_DEPRECATED_WITH_REPLACEMENT(__VA_ARGS__)
+
+#pragma mark - Prohibited
+
+#define __MP_PROHIBITED_PLATFORM_macos macos,unavailable
+#define __MP_PROHIBITED_PLATFORM_macosx macosx,unavailable
+#define __MP_PROHIBITED_PLATFORM_ios ios,unavailable
+#define __MP_PROHIBITED_PLATFORM_watchos watchos,unavailable
+#define __MP_PROHIBITED_PLATFORM_tvos tvos,unavailable
+#define __MP_PROHIBITED_PLATFORM_bridgeos bridgeos,unavailable
#if __has_include(<AvailabilityProhibitedInternal.h>)
-#define MP_API_IOS_AVAILABLE_TVOS_PROHIBITED(iosver, macosver, tvosver) MP_API(ios(iosver), tvos(tvosver), macos(macosver)) __TVOS_PROHIBITED
-#define MP_API_IOS_AVAILABLE_MACOS_TVOS_PROHIBITED(iosver, macosver, tvosver) MP_API(ios(iosver), tvos(tvosver), macos(macosver)) __TVOS_PROHIBITED
-#define MP_API_IOS_DEPRECATED_TVOS_PROHIBITED(iosintro, iosdep, macosintro, macosdep, tvosintro, tvosdep) \
- MP_DEPRECATED("No longer supported", ios(iosintro, iosdep), tvos(tvosintro, tvosdep), macos(macosintro, macosdep)) __TVOS_PROHIBITED
-#define MP_API_IOS_DEPRECATED_MACOS_TVOS_PROHIBITED(iosintro, iosdep, macosintro, macosdep, tvosintro, tvosdep) \
- MP_DEPRECATED("No longer supported", ios(iosintro, iosdep), tvos(tvosintro, tvosdep), macos(macosintro, macosdep)) __TVOS_PROHIBITED
-#define MP_API_IOS_DEPRECATED_WITH_REPLACEMENT_MACOS_TVOS_PROHIBITED(replacement, iosintro, iosdep, macosintro, macosdep, tvosintro, tvosdep) \
- MP_DEPRECATED_WITH_REPLACEMENT(replacement, ios(iosintro, iosdep), tvos(tvosintro, tvosdep), macos(macosintro, macosdep)) __TVOS_PROHIBITED
+#define __MP_P(x)
#else
-#define MP_API_IOS_AVAILABLE_TVOS_PROHIBITED(iosver, macosver, tvosver) MP_API(ios(iosver), macos(macosver)) __TVOS_PROHIBITED
-#define MP_API_IOS_AVAILABLE_MACOS_TVOS_PROHIBITED(iosver, macosver, tvosver) MP_API(ios(iosver)) __TVOS_PROHIBITED __OS_AVAILABILITY(macosx,unavailable)
-#define MP_API_IOS_DEPRECATED_TVOS_PROHIBITED(iosintro, iosdep, macosintro, macosdep, tvosintro, tvosdep) \
- MP_DEPRECATED("No longer supported", ios(iosintro, iosdep), macos(macosintro, macosdep)) __TVOS_PROHIBITED
-#define MP_API_IOS_DEPRECATED_MACOS_TVOS_PROHIBITED(iosintro, iosdep, macosintro, macosdep, tvosintro, tvosdep) \
- MP_DEPRECATED("No longer supported", ios(iosintro, iosdep)) __TVOS_PROHIBITED __OS_AVAILABILITY(macosx,unavailable)
-#define MP_API_IOS_DEPRECATED_WITH_REPLACEMENT_MACOS_TVOS_PROHIBITED(replacement, iosintro, iosdep, macosintro, macosdep, tvosintro, tvosdep) \
- MP_DEPRECATED_WITH_REPLACEMENT(replacement, ios(iosintro, iosdep)) __TVOS_PROHIBITED __OS_AVAILABILITY(macosx,unavailable)
+#define __MP_P(x) __attribute__((availability(__MP_PROHIBITED_PLATFORM_##x)))
#endif
+
+#define __MP_PROHIBITED1(x) __MP_P(x)
+#define __MP_PROHIBITED2(x,y) __MP_P(x) __MP_P(y)
+#define __MP_PROHIBITED3(x,y,z) __MP_PROHIBITED2(x,y) __MP_P(z)
+#define __MP_PROHIBITED4(x,y,z,t) __MP_PROHIBITED3(x,y) __MP_P(b)
+#define __MP_PROHIBITED_GET_MACRO(_1,_2,_3,_4,NAME,...) NAME
+
+#define MP_PROHIBITED(...) __MP_PROHIBITED_GET_MACRO(__VA_ARGS__,__MP_PROHIBITED4,__MP_PROHIBITED3,__MP_PROHIBITED2,__MP_PROHIBITED1)(__VA_ARGS__)