This article summarizes the key developer-related features introduced in tvOS 11.0, which runs on currently shipping tvOS devices. The article also lists the documents that describe new features in more detail.
For late-breaking news and information about known issues, see tvOS Release Notes.
For a complete list of new, modified, and deprecated APIs, see Apple Developer Documentation.
To learn about what’s new in Swift, see Swift Language in What’s New in Xcode and The Swift Programming Language (Swift 4.0.3).
New in tvOS 11.0 - Full right-to-left language support.
Added support for Arabic and Hebrew.
Added support in UIKit.
Added support in TVMLKit, including a new API for easily adapting the layout direction of the user interface.
New in tvOS 11.0 - TVML support in Web Inspector.
Added visual debugging of TVMLKit DOM including run-time manipulation.
Display TVMLKit XHR requests to the Network tab.
Display TVMLKit local session storage key-value pairs in the Storage tab.
Added support for debugging focus-related interactions.
Added runtime debugging in lldb using the
Added logging of live focus updates by enabling the
Enhanced image layering.
adjustsImageWhenAncestorFocusedto work for single-layer images with non-opaque alpha channels .
overlayContentViewfor adding layered content to
UIImageViewto enable using the alpha channel of the image to create a floating focussed appearance.
Enhanced developer customization of focus events.
Added playing a custom sound and not playing a sound for a focus movement change.
plain, a focusable button with no background blur.
UIFocusDidUpdate, a notification for changes in focus element.
UIFocusMovementDidFail, a notification that the user tried to change focus in a direction with no focusable element.
Improved Dynamic Type support.
UIFontMetrics, an object for creating custom fonts that scale based on the currently selected text size.
Updated Auto Layout to dynamically adjust spacing based on the font sizes when a baseline anchor is part of a constraint that uses the system spacing.
Added an attribute to preserve vector data for PDF assets to enable smooth scaling. You can use this attribute to show a larger version of bar items and segmented control items, as well as to adjust image sizes to match the user's text size. To enable scaling in the PDF, in the asset catalog Attributes inspector, select "Preserve vector data" for the PDF to enable scaling.
UIAccessibilityContentSizeCategoryImageAdjusting, a protocol for scaling images for accessibility text sizes.
preferredUserInterfaceStyle, a property for specifying the appearance of view controllers that overrides the system setting.
Improved Auto Layout support for Dynamic Type.
NSLayoutYAxisAnchorto provide factory methods that create constraints using the system spacing between two anchors. Previously the only way to create such a constraint was with the dash (
-) in the Visual Format Language.
Added an option to
NSLayoutFormatOptionsfor creating a Visual Format Language string that uses baseline-to-baseline spacing.
UIStackViewto enable system spacing and customized spacing.
Updated text content to work with App Password autofill.
primaryEdge, a property of
UISplitViewControllerfor setting the side for the master view controller.
blurOverFullScreen, a value for
UIModalPresentationStylefor progressive blurring of the screen behind a view controller.
Updated keyboard extensions.
documentIdentifier, a property of
UITextDocumentProxythat specifies whether the user is navigating to a new text widget.
needsInputModeSwitchKey, a property of
UIInputViewControllerto control the display of the input-mode switch key.
Added new system permissions in Settings for app access to included keyboard extensions.
Graphics and Games
New in tvOS 11.0 - SceneKit and SpriteKit focus support.
New in tvOS 11.0 - High performance image analysis.
Added the Vision framework for detecting faces, bar codes, text, image horizon, and rectangular regions.
Provided support for integrating the Vision framework with Core ML to run custom models on images.
Added object-tracking in video.
Added support for image registration.
New in tvOS 11.0 - Ability to write custom image blending kernels for Core Image.
New in tvOS 11.0 - Lightweight render destination.
CIRenderDestination, an object for creating renderers that return to the caller after the work has been issued. You can specify all the destination attributes of the renderer for different destinations, including a surface (
IOSurface), Core Video pixel buffer (
CVPixelBuffer), GL textures, Metal textures, and memory.
Added new Core Image filters
Extended the ReplayKit framework.
RPScreenRecorderfor screen capture and back camera support.
Metal 2 contains significant additions and updates to Metal, the Metal Shading Language, and the Metal Performance Shaders framework. Items below indicate where the updates occur:
– MTL: An update in the Metal framework.
– MSL: An update in the Metal Shading Language.
– MPS: An update in the Metal Performance Shaders framework.
MPS: New in Metal 2 - Cross-platform Metal Performance Shaders support.
All Metal Performance Shaders functionality is available in iOS 11.0, tvOS 11.0, and macOS 10.13.
MPS: New in tvOS 11.0 - Neural network support.
Added support for neural networks to the Metal Performance Shaders framework.
Added graphs to offer a higher level API for simplifying the creation of neural networks, including objects that allow state to be transferred between nodes in a neural network.
Added convolutional neural networks (CNN) to support implementing and running deep learning using previously obtained training data.
Added recurrent neural networks for implementing inference on images and matrices.
New in tvOS 11.0 - Argument Buffers. Group your resources into an argument buffer (AB) to reduce CPU overhead.
MSL: Added the
[[id(n)]]attribute qualifier to identify resources in an AB structure.
MTL: Added the
MTLArgumentEncoderprotocol to encode resources into an AB.
MTL: New in tvOS 11.0 - Programmable sample positions. Configure the position of samples when rendering to a multisampled render target.
MTLRenderPassDescriptorclass to set and get sample positions for a render pass.
MSL: New in tvOS 11.0 - Uniform type.
uniformtype to declare variables that are uniform for all threads that execute the graphics or compute function of a draw or dispatch call.
MTL: New in tvOS 11.0 - BGR10A2 pixel format.
bgr10A2Unormpixel format to present wide color content on P3 displays.
MPS: Added new filters.
Added filters for image statistics, such as computing the mean and variance for an image region.
Added filters for combining two images together, such as an element-wise sum.
Added filters for matrix decomposition and solving, such as decomposition using Cholesky or LU (lower upper) factorization.
MSL: Extended function specialization. Members of a structure used in a graphics, compute, or user function can be used with function constants.
[[raster_order_group(index)]]attribute qualifiers to work with function constants.
MTL: Extended vertex formats.
MTLVertexFormatvalues for small formats such as
Added dual-source blending support to tvOS. Output two source colors to a single render target in a fixed-function blending operation.
MSL: Added a new
[[index(i)]]attribute qualifier to the
[[color(n)]]attribute qualifier to output a second source color.
MTLBlendFactorto operate on a second source color.
New in tvOS 11.0 - Support for machine learning models.
Added the Core ML framework for easily integrating machine learning models into apps.
New in tvOS 11.0 - Promoting in-app purchases on the App Store.
Developers can promote up to 20 in-app purchases on their App Store product page. Customers can start their purchase on the App Store, and then be taken to the app to complete the transaction.
paymentQueue(_:shouldAddStore:for:), a new method of
SKPaymentTransactionObserverfor promoted in-app purchases. Apps need to support this delegate for promoted in-app purchases to display on the product page.
Updated the User Notification background execution APIs to support tvOS including waking the app in the background for silent notifications.
TVContentItemImageTrait, a structure used in new methods that provide URLs to light and dark images for Top Shelf.
Enhanced triggers for HomeKit.
HMCharacteristicThresholdRangeEventfor representing devices that report their state as a number range, such as blinds that report a position from 0 to 1.
HMPresenceEventfor adding a condition based on the presence of users.
HMEventTriggerto enable multiple occurrences of a trigger.
home:didUpdateHomeHubState:to support receiving updates of the home hub state.
Updated MapKit for clearer display of developer data.
mutedStandard, a new map display mode that emphasizes developer data.
MKMarkerAnnotationView, a view that has the look and feel of markers in modern maps. Developers can configure several elements including the background color, the displayed text or glyph, and the color of the text or glyph.
Added properties to customize how annotations behave when collisions occur. Developers use a combination of
clusteringIdentifierto influence which annotations remain on the map.
Media and Web
New in tvOS 11.0 - Support for High Efficiency Video Coding (HEVC). High Efficiency Video Coding (HEVC) is a new standard for video encoding that offers substantially better compression than H.264 at the same level of visual quality.
Added support for using AV Foundation to play back movies containing HEVC-encoded tracks, and to export videos.
Added support for using
VideoToolboxclients to can encode and decode HEVC video bitstreams.
New in tvOS 11.0 - Support for High Efficiency Image Format (HEIF). High Efficiency Image Format (HEIF) is a new standard of image compression that nearly doubles current data compression ratios for the same level of image quality.
Added functionality to the Photos and Core Image frameworks to display, encode, and export HEIF images.
New in tvOS 11.0 - TVML templates.
Added prototypes, TVML templates for reducing the runtime size of the DOM for creating efficient apps and improving performance.
Added data binding to TVML templates to associate templates with backing data.
Added paging to TVML templates needs more for efficient display of large catalogs of content.
To learn more about TVML templates and data binding, see the TVML Programming Guide
New in tvOS 11.0 - AirPlay 2.
Improved AirPlay reliability for some audio playback interfaces in AV Foundation. To take advantage of the increased reliability, play audio using
AVPlayeror the new
Added multiple speaker support to AirPlay for long-form audio such as music and podcasts. To mark your application as presenting long-form audio, invoke the
AVAudioSessionRouteSharingPolicyLongFormas the parameter value.
AVRoutePickerViewto the AVKit framework and
AVRouteDetectorto the AVFoundation framework for enabling users to choose the route for playing content when multiple routes are available. Use
AVRouteDetectorto determine if multiple routes are available when route detection is enabled. If multiple routes are available, use
AVRoutePickerViewto present an interface for the user to choose the routes.
Added FairPlay streaming key management.
Improved the functionality of
AVContentKeySessionto initiate content key requests independent of playback or downloading of media assets. Objects conforming to the
AVContentKeyRecipientprotocol, such as
AVURLAsset, can be added as a recipient to
AVContentKeySessionto obtain access to existing content keys and initiate new content key requests
Added more Live Photo adjustments.
Updated the APIs in the Core Bluetooth framework to match across iOS, tvOS, watchOS, and macOS, and marked the platform availability of each API.
APFS is now the default filesystem.
Added normalization-insensitive support for a case sensitive filesystem.