Skip to content

TVMLKit tvOS xcode16.0 b1

Rolf Bjarne Kvinge edited this page Jul 3, 2024 · 2 revisions

#TVMLKit.framework

Rolf

diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVApplicationController.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVApplicationController.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVApplicationController.h	2024-04-13 15:09:11
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVApplicationController.h	2024-05-30 05:05:18
@@ -15,10 +15,11 @@
 
 @class TVApplicationController;
 
+TVML_DEPRECATED_BEGIN("Please use SwiftUI or UIKit", ios(9.0, 18.0), tvos(9.0, 18.0))
+
 /*!
  @brief This class is used to provide launch info to TVApplicationController.
  */
-TV_EXTERN_CLASS_AVAILABLE(9_0)
 @interface TVApplicationControllerContext : NSObject <NSCopying>
 
 /*!
@@ -34,7 +35,7 @@
 /*!
  @brief Allows PiP to happen when playing back media
  */
-@property (nonatomic, readwrite) BOOL supportsPictureInPicturePlayback NS_AVAILABLE_IOS(14_0);
+@property (nonatomic, readwrite) BOOL supportsPictureInPicturePlayback TVML_DEPRECATED_IOS(14_0, 18_0);
 
 /*!
  @brief Data that gets passed to JavaScript onLaunch method. Values must be
@@ -56,27 +57,27 @@
 /*!
  @brief This method lets delegate to add JavaScript classes and objects.
  */
-- (void)appController:(TVApplicationController *)appController evaluateAppJavaScriptInContext:(JSContext *)jsContext NS_AVAILABLE_IOS(9_0);
+- (void)appController:(TVApplicationController *)appController evaluateAppJavaScriptInContext:(JSContext *)jsContext;
 
 /*!
  @brief Tells the delegate that the application did finish launching.
  */
-- (void)appController:(TVApplicationController *)appController didFinishLaunchingWithOptions:(nullable NSDictionary<NSString *, id> *)options NS_AVAILABLE_IOS(9_0);
+- (void)appController:(TVApplicationController *)appController didFinishLaunchingWithOptions:(nullable NSDictionary<NSString *, id> *)options;
 
 /*!
  @brief Tells the delegate that the application failed to load.
  */
-- (void)appController:(TVApplicationController *)appController didFailWithError:(NSError *)error NS_AVAILABLE_IOS(9_0);
+- (void)appController:(TVApplicationController *)appController didFailWithError:(NSError *)error;
 
 /*!
  @brief Tells the delegate that the application did stop.
  */
-- (void)appController:(TVApplicationController *)appController didStopWithOptions:(nullable NSDictionary<NSString *, id> *)options NS_AVAILABLE_IOS(9_0);
+- (void)appController:(TVApplicationController *)appController didStopWithOptions:(nullable NSDictionary<NSString *, id> *)options;
 
 /*!
  @brief Asks the delegate for a custom player object for a particular player bridge.
  */
-- (nullable TVPlayer *)playerForAppController:(TVApplicationController *)appController API_AVAILABLE(tvos(12_0)) NS_SWIFT_NAME(player(for:));
+- (nullable TVPlayer *)playerForAppController:(TVApplicationController *)appController TVML_DEPRECATED("Please use SwiftUI or UIKit", tvos(12.0, 18.0)) NS_SWIFT_NAME(player(for:));
 
 @end
 
@@ -85,7 +86,6 @@
             to provide a centralized point of control and co-ordination. The class
             bridges the UI, navigation stack, storage and event handling from JavaScript.
   */
-TV_EXTERN_CLASS_AVAILABLE(9_0)
 @interface TVApplicationController : NSObject
 
 /*!
@@ -127,5 +127,7 @@
 - (void)stop;
 
 @end
+
+TVML_DEPRECATED_END
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVColor.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVColor.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVColor.h	2024-04-13 15:41:01
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVColor.h	2024-05-30 05:05:18
@@ -11,18 +11,19 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
+TVML_DEPRECATED_BEGIN("Please use SwiftUI or UIKit", ios(9.0, 18.0), tvos(9.0, 18.0))
+
 typedef NS_ENUM(NSInteger, TVColorType) {
     TVColorTypeNone,
     
     TVColorTypePlain,
     TVColorTypeLinearGradientTopToBottom,
     TVColorTypeLinearGradientLeftToRight
-} NS_ENUM_AVAILABLE_IOS(9_0);
+};
 
 /*!
  @description Defines the color data for styles of type TVViewElementStyleTypeColor.
  */
-TV_EXTERN_CLASS_AVAILABLE(9_0)
 @interface TVColor : NSObject <NSCopying>
 
 @property (nonatomic, readonly) TVColorType colorType;
@@ -38,5 +39,7 @@
 @property (nonatomic, readonly, nullable) NSArray<NSNumber *> *gradientPoints;
 
 @end
+
+TVML_DEPRECATED_END
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVDocumentViewController.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVDocumentViewController.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVDocumentViewController.h	2024-04-13 15:41:01
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVDocumentViewController.h	2024-05-30 05:05:19
@@ -12,26 +12,26 @@
 NS_ASSUME_NONNULL_BEGIN
 @class TVDocumentViewController;
 
-extern NSErrorDomain const TVDocumentErrorDomain API_AVAILABLE(tvos(13.0));
+TVML_DEPRECATED_BEGIN("Please use SwiftUI or UIKit", tvos(13.0, 18.0))
 
+extern NSErrorDomain const TVDocumentErrorDomain;
+
 typedef NS_ERROR_ENUM(TVDocumentErrorDomain, TVDocumentError) {
     TVDocumentErrorFailed,
     TVDocumentErrorCancelled
-} API_AVAILABLE(tvos(13.0));
+};
 
-API_AVAILABLE(tvos(13.0))
 typedef NSString* TVDocumentEvent NS_TYPED_EXTENSIBLE_ENUM NS_SWIFT_NAME(TVDocumentViewController.Event);
 
-extern TVDocumentEvent const TVDocumentEventPlay API_AVAILABLE(tvos(13.0));
-extern TVDocumentEvent const TVDocumentEventSelect API_AVAILABLE(tvos(13.0));
-extern TVDocumentEvent const TVDocumentEventHoldSelect API_AVAILABLE(tvos(13.0));
-extern TVDocumentEvent const TVDocumentEventHighlight API_AVAILABLE(tvos(13.0));
-extern TVDocumentEvent const TVDocumentEventLoad API_AVAILABLE(tvos(13.0));
-extern TVDocumentEvent const TVDocumentEventUnload API_AVAILABLE(tvos(13.0));
-extern TVDocumentEvent const TVDocumentEventAppear API_AVAILABLE(tvos(13.0));
-extern TVDocumentEvent const TVDocumentEventDisappear API_AVAILABLE(tvos(13.0));
+extern TVDocumentEvent const TVDocumentEventPlay;
+extern TVDocumentEvent const TVDocumentEventSelect;
+extern TVDocumentEvent const TVDocumentEventHoldSelect;
+extern TVDocumentEvent const TVDocumentEventHighlight;
+extern TVDocumentEvent const TVDocumentEventLoad;
+extern TVDocumentEvent const TVDocumentEventUnload;
+extern TVDocumentEvent const TVDocumentEventAppear;
+extern TVDocumentEvent const TVDocumentEventDisappear;
 
-API_AVAILABLE(tvos(13.0))
 @protocol TVDocumentViewControllerDelegate <NSObject>
 @optional
 // When the doucment view controller is going to be updated with a new/updated template
@@ -46,7 +46,6 @@
 - (BOOL)documentViewController:(TVDocumentViewController *)documentViewController handleEvent:(TVDocumentEvent)event withElement:(TVViewElement *)element;
 @end
 
-API_AVAILABLE(tvos(13.0))
 @interface TVDocumentViewController : UIViewController
 
 // Current document context whether its brand new or updated
@@ -65,5 +64,7 @@
 - (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil bundle:(nullable NSBundle *)nibBundleOrNil API_UNAVAILABLE(ios, tvos, watchos, macos);
 - (instancetype)initWithCoder:(NSCoder *)coder API_UNAVAILABLE(ios, tvos, watchos, macos);
 @end
+
+TVML_DEPRECATED_END
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVElementFactory.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVElementFactory.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVElementFactory.h	2024-04-13 15:41:01
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVElementFactory.h	2024-05-30 05:05:19
@@ -10,15 +10,18 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
+TVML_DEPRECATED_BEGIN("Please use SwiftUI or UIKit", ios(9.0, 18.0), tvos(9.0, 18.0))
+
 /*!
  @description Factory for registration of new elements that extend Apple TV markup language. Registration is required
         in order for the framework to parse these new elements and should happen prior to initializing TVApplicationController.
  */
-TV_EXTERN_CLASS_AVAILABLE(9_0)
 @interface TVElementFactory : NSObject
 
 + (void)registerViewElementClass:(Class)elementClass forElementName:(NSString *)elementName;
 
 @end
+
+TVML_DEPRECATED_END
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVImageElement.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVImageElement.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVImageElement.h	2024-04-13 15:41:01
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVImageElement.h	2024-05-30 05:05:18
@@ -9,18 +9,19 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
+TVML_DEPRECATED_BEGIN("Please use SwiftUI or UIKit", ios(9.0, 18.0), tvos(9.0, 18.0))
+
 typedef NS_ENUM(NSInteger, TVImageType) {
     TVImageTypeImage,
     
     TVImageTypeFullscreen,
     TVImageTypeDecoration,
     TVImageTypeHero
-} NS_ENUM_AVAILABLE_IOS(9_0);
+};
 
 /*!
  @decription Convenience class representing <img /> element.
  */
-TV_EXTERN_CLASS_AVAILABLE(9_0)
 @interface TVImageElement : TVViewElement
 
 @property (nonatomic, readonly, nullable) NSURL *URL;
@@ -28,5 +29,7 @@
 @property (nonatomic, readonly) TVImageType imageType;
 
 @end
+
+TVML_DEPRECATED_END
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVInterfaceFactory.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVInterfaceFactory.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVInterfaceFactory.h	2024-04-13 15:41:01
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVInterfaceFactory.h	2024-05-30 05:05:19
@@ -13,6 +13,8 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
+TVML_DEPRECATED_BEGIN("Please use SwiftUI or UIKit", ios(9.0, 18.0), tvos(9.0, 18.0))
+
 @protocol TVInterfaceCreating <NSObject>
 
 @optional
@@ -22,45 +24,44 @@
         When existingView is an instance of UICollectionViewCell, the cell must be configured instead of creating a new instance.
         Application must return nil if event is not handled.
  */
-- (nullable UIView *)viewForElement:(TVViewElement *)element existingView:(nullable UIView *)existingView NS_AVAILABLE_IOS(9_0);
+- (nullable UIView *)viewForElement:(TVViewElement *)element existingView:(nullable UIView *)existingView;
 
 /*!
  @description Return a view controller for the given view element. It is preferred to reuse the existingViewController if it can be updated.
         Application must return nil if event is not handled.
  */
-- (nullable UIViewController *)viewControllerForElement:(TVViewElement *)element existingViewController:(nullable UIViewController *)existingViewController NS_AVAILABLE_IOS(9_0);
+- (nullable UIViewController *)viewControllerForElement:(TVViewElement *)element existingViewController:(nullable UIViewController *)existingViewController;
 
 /*!
  @description Return a URL given the resource name. The resource name is retrieved from a resource URL specified in elements like badge, img etc. 
         For example, <badge src="resource://developer-resource" will request for resource with name 'developer-resource'. Application must return
         nil if event is not handled.
  */
-- (nullable NSURL *)URLForResource:(NSString *)resourceName NS_AVAILABLE_IOS(9_0);
+- (nullable NSURL *)URLForResource:(NSString *)resourceName;
 
 /*!
  @description Return a UIImage given the resource name. The resource name is retrieved from a resource URL specified in elements like badge, img etc.
         For example, <badge src="resource://developer-resource" will request for resource with name 'developer-resource'. This only works for image 
         elements. Return nil if no image matches the resource name or it is not handled.
  */
-- (nullable UIImage *)imageForResource:(NSString *)resourceName NS_AVAILABLE_IOS(9_2);
+- (nullable UIImage *)imageForResource:(NSString *)resourceName TVML_DEPRECATED_IOS(9_2, 18_0);
 
 /*
  @description Return a collection view cell class given an element contained in a list, shelf or grid. A common cell class is used for all elements
  		that share the same name in a collection, hence this method is only called once per a unique element name. Return nil for default handling.
  */
-- (nullable Class)collectionViewCellClassForElement:(TVViewElement *)element NS_AVAILABLE_IOS(10_0);
+- (nullable Class)collectionViewCellClassForElement:(TVViewElement *)element TVML_DEPRECATED_IOS(10_0, 18_0);
 
 /*
  @description Return customer player user interface for a custom player
  */
-- (nullable UIViewController *)playerViewControllerForPlayer:(TVPlayer *)player API_AVAILABLE(tvos(12_0)) NS_SWIFT_NAME(playerViewController(for:));
+- (nullable UIViewController *)playerViewControllerForPlayer:(TVPlayer *)player TVML_DEPRECATED("Please use SwiftUI or UIKit", tvos(12.0, 18.0)) NS_SWIFT_NAME(playerViewController(for:));
 
 @end
 
 /*!
  @description Interface factory for creation of views and view controllers. Application can extend or override framework implementation by setting extendedInterfaceCreator.
  */
-TV_EXTERN_CLASS_AVAILABLE(9_0)
 @interface TVInterfaceFactory : NSObject <TVInterfaceCreating>
 
 /*!
@@ -74,5 +75,7 @@
 @property (nonatomic, strong, nullable) id<TVInterfaceCreating> extendedInterfaceCreator;
 
 @end
+
+TVML_DEPRECATED_END
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVMLKitDefines.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVMLKitDefines.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVMLKitDefines.h	2024-04-13 15:41:01
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVMLKitDefines.h	2024-05-30 05:05:19
@@ -24,6 +24,18 @@
 #endif
 #endif
 
+#if __BUILDING_TVMLKIT__
+# define TVML_DEPRECATED_BEGIN(...)
+# define TVML_DEPRECATED_END
+# define TVML_DEPRECATED(...)
+# define TVML_DEPRECATED_IOS(a, b)
+#else
+# define TVML_DEPRECATED_BEGIN(...) API_DEPRECATED_BEGIN(__VA_ARGS__)
+# define TVML_DEPRECATED_END API_DEPRECATED_END
+# define TVML_DEPRECATED(...) API_DEPRECATED(__VA_ARGS__)
+# define TVML_DEPRECATED_IOS(a, b) NS_DEPRECATED_IOS(a,b)
+#endif
+
 #if !defined(TV_EXTERN_CLASS_AVAILABLE)
 #define TV_EXTERN_CLASS_AVAILABLE(version) __attribute__((visibility("default"))) NS_CLASS_AVAILABLE(NA, version)
 #endif
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVMLKitErrors.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVMLKitErrors.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVMLKitErrors.h	2024-04-13 15:41:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVMLKitErrors.h	2024-05-30 05:05:18
@@ -10,8 +10,10 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-TV_EXTERN NSString* const TVMLKitErrorDomain NS_AVAILABLE_IOS(9_0);
+TVML_DEPRECATED_BEGIN("Please use SwiftUI or UIKit", ios(9.0, 18.0), tvos(9.0, 18.0))
 
+TV_EXTERN NSString* const TVMLKitErrorDomain;
+
 /*
  NSError codes for the TVMLKitErrorDomain
  */
@@ -22,6 +24,8 @@
     TVMLKitErrorFailedToLaunch,
     
     TVMLKitErrorLast
-} NS_ENUM_AVAILABLE_IOS(9_0);
+};
+
+TVML_DEPRECATED_END
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVPlayback.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVPlayback.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVPlayback.h	2024-04-13 15:09:11
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVPlayback.h	2024-05-30 05:41:00
@@ -6,6 +6,7 @@
 //
 
 #import <Foundation/Foundation.h>
+#import <TVMLKit/TVMLKitDefines.h>
 
 @class AVPlayer;
 @protocol TVPlaying;
@@ -19,20 +20,22 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-typedef NSString* TVPlaybackEvent NS_TYPED_EXTENSIBLE_ENUM NS_SWIFT_NAME(TVPlaybackEvent) NS_AVAILABLE_IOS(12_0);
-typedef NSString* TVMediaItemType NS_TYPED_EXTENSIBLE_ENUM NS_SWIFT_NAME(TVMediaItem.MediaType) NS_AVAILABLE_IOS(12_0);
-typedef NSString* TVPlaybackEventProperty NS_TYPED_EXTENSIBLE_ENUM NS_SWIFT_NAME(TVPlaybackEventProperty) NS_AVAILABLE_IOS(12_0);
+TVML_DEPRECATED_BEGIN("Please use SwiftUI or UIKit", ios(12.0, 18.0), tvos(12.0, 18.0))
 
-extern TVMediaItemType const TVMediaItemTypeVideo NS_AVAILABLE_IOS(12_0);
-extern TVMediaItemType const TVMediaItemTypeAudio NS_AVAILABLE_IOS(12_0);
+typedef NSString* TVPlaybackEvent NS_TYPED_EXTENSIBLE_ENUM NS_SWIFT_NAME(TVPlaybackEvent);
+typedef NSString* TVMediaItemType NS_TYPED_EXTENSIBLE_ENUM NS_SWIFT_NAME(TVMediaItem.MediaType);
+typedef NSString* TVPlaybackEventProperty NS_TYPED_EXTENSIBLE_ENUM NS_SWIFT_NAME(TVPlaybackEventProperty);
 
+extern TVMediaItemType const TVMediaItemTypeVideo;
+extern TVMediaItemType const TVMediaItemTypeAudio;
+
 typedef NSString* TVMediaItemContentRatingDomain NS_TYPED_EXTENSIBLE_ENUM NS_SWIFT_NAME(TVMediaItem.ContentRatingDomain);
 
-extern TVMediaItemContentRatingDomain const TVMediaItemContentRatingDomainMovie NS_AVAILABLE_IOS(12_0);
-extern TVMediaItemContentRatingDomain const TVMediaItemContentRatingDomainTVShow NS_AVAILABLE_IOS(12_0);
-extern TVMediaItemContentRatingDomain const TVMediaItemContentRatingDomainMusic NS_AVAILABLE_IOS(12_0);
+extern TVMediaItemContentRatingDomain const TVMediaItemContentRatingDomainMovie;
+extern TVMediaItemContentRatingDomain const TVMediaItemContentRatingDomainTVShow;
+extern TVMediaItemContentRatingDomain const TVMediaItemContentRatingDomainMusic;
 
-NS_ENUM_AVAILABLE_IOS(12_0) typedef NS_ENUM(NSInteger, TVPlaybackState) {
+typedef NS_ENUM(NSInteger, TVPlaybackState) {
     TVPlaybackStateUndefined,
     TVPlaybackStateBegin,
     TVPlaybackStateLoading,
@@ -44,13 +47,13 @@
     TVPlaybackStateEnd
 };
 
-NS_ENUM_AVAILABLE_IOS(12_0) typedef NS_ENUM(NSInteger, TVPlaylistRepeatMode) {
+typedef NS_ENUM(NSInteger, TVPlaylistRepeatMode) {
     TVPlaylistRepeatModeNone = 0,
     TVPlaylistRepeatModeAll,
     TVPlaylistRepeatModeOne
 } NS_SWIFT_NAME(TVPlaylist.RepeatMode);
 
-NS_ENUM_AVAILABLE_IOS(12_0) typedef NS_ENUM(NSInteger, TVPlaylistEndAction) {
+typedef NS_ENUM(NSInteger, TVPlaylistEndAction) {
     TVPlaylistEndActionStop = 0,
     TVPlaylistEndActionPause,
     TVPlaylistEndActionWaitForMoreItems
@@ -64,7 +67,7 @@
  @discussion An event user info marshaling protocol for sending and receiving
     info to and from JS.
  */
-NS_CLASS_AVAILABLE_IOS(12_0) @protocol TVPlaybackEventMarshaling <NSObject>
+@protocol TVPlaybackEventMarshaling <NSObject>
 
 @property (nonatomic, strong, readonly, nullable) NSDictionary<TVPlaybackEventProperty, id> *properties;
 
@@ -78,7 +81,7 @@
  @discussion Event object that encapsulates its identity and user info for
     custom events.
  */
-NS_CLASS_AVAILABLE_IOS(12_0) @interface TVPlaybackCustomEventUserInfo : NSObject <TVPlaybackEventMarshaling>
+@interface TVPlaybackCustomEventUserInfo : NSObject <TVPlaybackEventMarshaling>
 
 - (instancetype)initWithProperties:(nullable NSDictionary<TVPlaybackEventProperty, id> *)properties expectsReturnValue:(BOOL)expectsReturnValue NS_SWIFT_NAME(init(properties:expectsReturnValue:));
 
@@ -93,7 +96,7 @@
 #pragma mark - TVPlaylist
 ////////////////////////////////////////////////////////////////////////////////
 
-NS_CLASS_AVAILABLE_IOS(12_0) @interface TVPlaylist : NSObject
+@interface TVPlaylist : NSObject
 // Properties are KV-Obserable
 
 // Ordered list of media items that the player should play. KVO-observable
@@ -114,7 +117,7 @@
 #pragma mark - TVMediaItem
 ////////////////////////////////////////////////////////////////////////////////
 
-NS_CLASS_AVAILABLE_IOS(12_0) @interface TVMediaItem : NSObject
+@interface TVMediaItem : NSObject
 // Properties are KV-Obserable
 
 // The type of the item. Eg. 'video' or 'audio'.
@@ -162,7 +165,7 @@
 #pragma mark - TVTimeRange
 ////////////////////////////////////////////////////////////////////////////////
 
-NS_CLASS_AVAILABLE_IOS(12_0) NS_SWIFT_NAME(TVMediaItem.TimeRange) @interface TVTimeRange : NSObject
+NS_SWIFT_NAME(TVMediaItem.TimeRange) @interface TVTimeRange : NSObject
 
 @property (nonatomic, assign, readonly) NSTimeInterval startTime;
 
@@ -176,7 +179,7 @@
 #pragma mark - TVHighlightGroup
 ////////////////////////////////////////////////////////////////////////////////
 
-NS_CLASS_AVAILABLE_IOS(12_0) NS_SWIFT_NAME(TVMediaItem.HighlightGroup) @interface TVHighlightGroup : NSObject
+NS_SWIFT_NAME(TVMediaItem.HighlightGroup) @interface TVHighlightGroup : NSObject
 
 @property (nonatomic, strong, readonly, nullable) NSString *localizedName;
 
@@ -188,7 +191,7 @@
 #pragma mark - TVHighlight
 ////////////////////////////////////////////////////////////////////////////////
 
-NS_CLASS_AVAILABLE_IOS(12_0) NS_SWIFT_NAME(TVMediaItem.Highlight) @interface TVHighlight : NSObject
+NS_SWIFT_NAME(TVMediaItem.Highlight) @interface TVHighlight : NSObject
 
 @property (nonatomic, strong, readonly, nullable) NSString *localizedName;
 
@@ -203,7 +206,7 @@
 ////////////////////////////////////////////////////////////////////////////////
 #pragma mark - TVPlayer
 ////////////////////////////////////////////////////////////////////////////////
-NS_CLASS_AVAILABLE_IOS(12_0) @interface TVPlayer : NSObject
+@interface TVPlayer : NSObject
 
 - (instancetype)initWithPlayer:(AVPlayer *)player NS_SWIFT_NAME(init(player:));
 
@@ -235,11 +238,13 @@
 - (void)previous;
 
 // Present the playback user interface for this player
-- (void)presentWithAnimation:(BOOL)animated NS_SWIFT_NAME(present(animated:)) NS_CLASS_AVAILABLE_IOS(13_0);
+- (void)presentWithAnimation:(BOOL)animated NS_SWIFT_NAME(present(animated:)) TVML_DEPRECATED_IOS(13_0, 18_0);
 
 // Move to the media item at the index in the playlist
 - (void)changeToMediaItemAtIndex:(NSInteger)index NS_SWIFT_NAME(setCurrentMediaItem(toItemAtIndex:));
 
 @end
+
+TVML_DEPRECATED_END
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVStyleFactory.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVStyleFactory.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVStyleFactory.h	2024-04-13 15:41:01
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVStyleFactory.h	2024-05-30 05:05:19
@@ -10,6 +10,8 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
+TVML_DEPRECATED_BEGIN("Please use SwiftUI or UIKit", ios(9.0, 18.0), tvos(9.0, 18.0))
+
 typedef NS_ENUM(NSInteger, TVViewElementStyleType) {
     TVViewElementStyleTypeInteger = 1,
     TVViewElementStyleTypeDouble,
@@ -19,16 +21,17 @@
     TVViewElementStyleTypeURL,
     TVViewElementStyleTypeTransform,
     TVViewElementStyleTypeEdgeInsets
-} NS_ENUM_AVAILABLE_IOS(9_0);
+};
 
 /*!
  @description Factory to register new styles to define custom style data.
  */
-TV_EXTERN_CLASS_AVAILABLE(9_0)
 @interface TVStyleFactory : NSObject
 
 + (void)registerStyle:(NSString *)styleName withType:(TVViewElementStyleType)type inherited:(BOOL)inherited;
 
 @end
+
+TVML_DEPRECATED_END
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVTextElement.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVTextElement.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVTextElement.h	2024-04-13 15:41:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVTextElement.h	2024-05-30 05:05:18
@@ -10,6 +10,8 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
+TVML_DEPRECATED_BEGIN("Please use SwiftUI or UIKit", ios(9.0, 18.0), tvos(9.0, 18.0))
+
 typedef NS_ENUM(NSInteger, TVTextElementStyle) {
     TVTextElementStyleNone,
 
@@ -17,12 +19,11 @@
     TVTextElementStyleSubtitle,
     TVTextElementStyleDescription,
     TVTextElementStyleDecoration
-} NS_ENUM_AVAILABLE_IOS(9_0);
+};
 
 /*!
  @decription Represents textual content for the DOM element.
  */
-TV_EXTERN_CLASS_AVAILABLE(9_0)
 @interface TVTextElement : TVViewElement
 
 @property (nonatomic, readonly, nullable) NSAttributedString *attributedText;
@@ -34,5 +35,7 @@
                                    textAlignment:(NSTextAlignment)alignment;
 
 @end
+
+TVML_DEPRECATED_END
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVViewElement.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVViewElement.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVViewElement.h	2024-04-13 15:09:11
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVViewElement.h	2024-05-30 05:05:18
@@ -11,13 +11,15 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
+TVML_DEPRECATED_BEGIN("Please use SwiftUI or UIKit", ios(9.0, 18.0), tvos(9.0, 18.0))
+
 typedef NS_ENUM(NSInteger, TVElementEventType) {
     TVElementEventTypePlay = 1,
     TVElementEventTypeSelect,
     TVElementEventTypeHoldSelect,
     TVElementEventTypeHighlight,
     TVElementEventTypeChange
-} NS_ENUM_AVAILABLE_IOS(9_0);
+};
 
 typedef NS_ENUM(NSInteger, TVElementUpdateType) {
     TVElementUpdateTypeNone,
@@ -32,7 +34,7 @@
      @brief Signifies that style property on view elements could have changed as
      a result of reevaluating media queries.
      */
-    TVElementUpdateTypeStyles NS_AVAILABLE_IOS(10_0),
+    TVElementUpdateTypeStyles TVML_DEPRECATED_IOS(10_0, 18_0),
 
     /*!
      @brief Signifies that the order of children is updated due to addition,
@@ -44,7 +46,7 @@
      @brief Signifies that the node itself and its subtree is modified.
      */
     TVElementUpdateTypeSelf,
-} NS_ENUM_AVAILABLE_IOS(9_0);
+};
 
 /*!
  @abstract Properties of TVViewElement that can be reset by the client to their
@@ -62,7 +64,7 @@
 	 @brief Maps to autoHighlightIdentifier.
 	 */
 	TVElementResettablePropertyAutoHighlightIdentifier,
-} NS_ENUM_AVAILABLE_IOS(9_0);
+};
 
 /*!
  @description TVViewElement represents a read only DOM node along with it's
@@ -71,7 +73,6 @@
                 View/View controllers should use the avaliable dispatch API's to
                 send user events to JavaScript.
  */
-TV_EXTERN_CLASS_AVAILABLE(9_0)
 @interface TVViewElement : NSObject <NSCopying>
 
 // Unique identifier for the element
@@ -87,13 +88,13 @@
 @property (nonatomic, getter = isDisabled) BOOL disabled;
 // Defines the update type after a DOM re-parse. Initial state is TVElementUpdateTypeNone.
 @property (nonatomic, readonly) TVElementUpdateType updateType;
-@property (nonatomic, readonly) NSDictionary<NSString *, id> *elementData NS_AVAILABLE_IOS(13_0);
+@property (nonatomic, readonly) NSDictionary<NSString *, id> *elementData TVML_DEPRECATED_IOS(13_0, 18_0);
 
 /*!
  @abstract Resets the property to its default value. This API can be used to reset 
  	a resettable property to its default value after the changes have been read.
  */
-- (void)resetProperty:(TVElementResettableProperty)resettableProperty NS_AVAILABLE_IOS(9_0);
+- (void)resetProperty:(TVElementResettableProperty)resettableProperty;
 
 // API's to dispatch events to JavaScript
 - (void)dispatchEventOfType:(TVElementEventType)type
@@ -109,5 +110,7 @@
       completion:(nullable void (^)(BOOL isDispatched, BOOL isCancelled))completion;
 
 @end
+
+TVML_DEPRECATED_END
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVViewElementStyle.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVViewElementStyle.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVViewElementStyle.h	2024-04-13 15:41:01
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/TVMLKit.framework/Headers/TVViewElementStyle.h	2024-05-30 05:05:18
@@ -13,6 +13,8 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
+TVML_DEPRECATED_BEGIN("Please use SwiftUI or UIKit", ios(9.0, 18.0), tvos(9.0, 18.0))
+
 typedef NS_ENUM(NSInteger, TVElementAlignment) {
     TVElementAlignmentUndefined,
     
@@ -22,7 +24,7 @@
     
     TVElementAlignmentLeading,
     TVElementAlignmentTrailing,
-} NS_ENUM_AVAILABLE_IOS(9_0);
+};
 
 typedef NS_ENUM(NSInteger, TVElementContentAlignment) {
     TVElementContentAlignmentUndefined,
@@ -30,7 +32,7 @@
     TVElementContentAlignmentTop,
     TVElementContentAlignmentCenter,
     TVElementContentAlignmentBottom
-} NS_ENUM_AVAILABLE_IOS(9_0);
+};
 
 typedef NS_ENUM(NSInteger, TVElementPosition) {
     TVElementPositionUndefined,
@@ -53,12 +55,11 @@
     TVElementPositionTopTrailing,
     TVElementPositionBottomLeading,
     TVElementPositionBottomTrailing,
-} NS_ENUM_AVAILABLE_IOS(9_0);
+};
 
 /*!
  @description An instance of TVViewElementStyle contains the set of styles applied to the view element.
  */
-TV_EXTERN_CLASS_AVAILABLE(9_0)
 @interface TVViewElementStyle : NSObject <NSCopying>
 
 // Returns the value associated with a given style name.
@@ -71,7 +72,7 @@
 @property (nonatomic, readonly, nullable) NSString *fontWeight;
 @property (nonatomic, readonly) CGFloat height;
 @property (nonatomic, readonly) UIEdgeInsets margin;
-@property (nonatomic, readonly) UIEdgeInsets focusMargin NS_AVAILABLE_IOS(10_0);
+@property (nonatomic, readonly) UIEdgeInsets focusMargin TVML_DEPRECATED_IOS(10_0, 18_0);
 @property (nonatomic, readonly) CGFloat maxHeight;
 @property (nonatomic, readonly) CGFloat maxWidth;
 @property (nonatomic, readonly) CGFloat minHeight;
@@ -94,5 +95,7 @@
 @property (nonatomic, readonly, nullable) TVColor *tintColor;
 
 @end
+
+TVML_DEPRECATED_END
 
 NS_ASSUME_NONNULL_END
Clone this wiki locally