tvOS SDK Release Notes for tvOS 10.0
Contents:
Introduction
The tvOS SDK leverages many of the same frameworks and technologies that you’re already using for iOS development. However, please note that all libraries and frameworks used in your tvOS apps must be built for tvOS, including any 3rd-party libraries. Do not link your tvOS app against frameworks or libraries that are not built with tvOS. Attempting to do so will result in a build failure. Furthermore, bitcode is required for all tvOS apps. All apps and frameworks in the app bundle must include bitcode.
tvOS 10 SDK provides support for developing tvOS apps. It’s packaged with a complete set of Xcode tools, compilers, and frameworks for creating apps for tvOS. These tools include the Xcode IDE and the Instruments analysis tool, among many others.
This version of tvOS is intended for installation only on devices registered with the Apple Developer Program. Attempting to install this version of tvOS in an unauthorized manner could put your device in an unusable state.
Bug Reporting
For issues not mentioned in the Notes and Known Issues section, please file bugs through the Apple Developer website (https://developer.apple.com/bug-reporting/). Additionally, you may discuss these issues and tvOS SDK 10.0 in the Apple Developer Forums: https://forums.developer.apple.com/.
Notes and Known Issues
CFNetwork HTTPProtocol
The NSMutableURLRequest
class requires that the HTTPBodyStream
property be an unopened stream, and the NSURLConnection
and NSURLSession
classes now strictly enforce this unopened stream requirement. Affected apps should ensure that any NSInputStream
that is provided has not yet been opened.
libstdc++
Support for libstdc++ has been removed from the tvOS SDK beginning with tvOS 9.2.
SSL/TLS
Notes:
NSURLConnection
disallows connections that use TLS protocol versions lower than the protocol version specified by an ATS policy via theNSExceptionMinimumTLSVersion
orNSThirdPartyExceptionMinimumTLSVersion
keys. This is now being enforced as of tvOS 10. Affected apps and services should upgrade web servers to use more modern TLS protocol versions.To improve customer privacy, when an HTTPS URL is specified,
NSURLSession
andNSURLConnection
no longer support RC4 cipher suites during the TLS handshake. Affected apps and services should upgrade web servers to use more modern cipher suites.In Console, your app will show -1200 and -98xx errors that did not appear in the previous release (
NSURLErrorSecureConnectionFailed
and SecureTransport errors, respectively).(CFNetwork) HTTP load failed (error code: -1200 [3:-9824]
(CFNetwork) NSURLConnection finished with error - code -1200
To determine if a particular URL is affected by this change, on OS X, use nscurl <url>. If the load fails, and nscurl --enable-rc4 <url> succeeds, then the web server only supports RC4 cipher suites and will need to be upgraded.
Please note that another reason you may see identical errors is because of a change where App Transport Security
NSExceptionMinimumTLSVersion
orNSThirdPartyExceptionMinimumTLSVersion
is now being respected forNSURLConnection
.
Simulator
Switching between Light and Dark appearance can be done in the Simulator by using the “Shift + Command + d” keyboard shortcut.
UIKit
Known Issue
When a search keyboard is configured to be explicitly dark, The “Hold to dictate search” text may appear in a dark color.
Note
On tvOS 9, a UITableView
object’s contentInset would modify the fading mask applied to the top and bottom of the table. Content scrolled off the top of the UITableView would begin fading out a short distance from the top of the contentInset, and be completely obscured at the top of the contentInset.
This behavior has changed for apps built with tvOS 10 or later. The fading effect now always happens at the top and bottom of the UITableView
’s frame, and the contentInset only affects scrolling margin, as it does on iOS. There is one exception; a UITableView
object inside of a UINavigationController
object will have the top of the mask inset to leave room for the UINavigationBar
.
To achieve the previous behavior, it may be necessary to adjust the frame of a UITableView
. If the system-provided mask does not meet your needs, you can provide your own masking view using the UITableView
’s maskView
property.
Copyright © 2018 Apple Inc. All rights reserved. Terms of Use | Privacy Policy | Updated: 2016-09-13