Apple released new betas of all of their stuff today. We saw iOS 9.2 Beta 2, we saw Mac OS X 10.11.2 El Capitan Beta 2, we got Xcode 7.2 Beta 2, and of course, tvOS 9.1 Beta.
I want to take a moment to talk about version numbers. Apple TV, despite never having an App Store, would always release betas alongside iOS. They were always one version behind. For example, the last update that the third generation Apple TV got was iOS 8.3, so it was called Apple TV 7.3. How did we get to tvOS 9? But I digress…
How To Get tvOS 9.1 Beta
Apple doesn’t provide instructions for installing tvOS Beta software, so I can only assume that it works the same as former generation Apple TVs.
NOTE: for those waiting for a walk through, it will be at least a day until I can record it. Apple TV uses USB C, so I have a USB C cable coming in the mail but not until tomorrow.
- Begin downloading the installation file from the Apple developer center
- Unplug your Apple TV and power it down. Also, unplug it from your TV.
- Plug your Apple TV into your PC via USB C cable. I’m assuming it doesn’t power on at this point. If it doesn’t, plug it into a power source. It will boot into recovery mode.
- You should see the serial number in iTunes. Click on it. It will turn into your UDID. If it’s not in iTunes, you need to go to the Devices Manager in Xcode.
- In the Apple developer center, go to Member Center -> Certificates, Identifiers, and Profiles -> Devices
- Add your UDID
- While holding Option on a Mac or Shift in Windows, click “Restore Apple TV”.
- Navigate to the file you downloaded and open it.
Sorry about the not so great instructions. I’m assuming that the new Apple TV works like the old one. We don’t work with tvOS betas as much, so details are a little foggy. I’ll know more tomorrow when I actually perform this. Just know this: it is absolutely essential to register your UDID with the developer center. Otherwise, you’ll boot it up with the new software and nothing will work because it won’t activate.
tvOS 9.1 Beta Release Notes
The tvOS SDK leverages many of the same frameworks and technologies that you’re already familiar 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 now required for all tvOS apps. All apps and frameworks in the app bundle must include bitcode.
tvOS SDK 9.1 beta 1 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.
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 9.1 in the Apple Developer Forums at https://forums.developer.apple.com/ community/pre-release/tvos-beta.
By default, the tvOS 9.1 beta automatically sends anonymous diagnostic and usage data back to Apple. This includes information about crashes, freezes, kernel panics, and how you use Apple and third-party software, hardware, and services. This information is used to help Apple improve the quality and performance of its products and services. You can stop autosubmission of diagnostics and usage data by going to Settings > General > Privacy > Send To Apple > Off.
On tvOS, AVPlayerViewController automatically resumes playback when video playback stalls. This will prevent clients from programmatically pausing playback, as a programmatic pause will appear to be a stall and playback will immediately resume. A future update to allow application-control of the autoresume behavior is planned. In the meantime, please file a bug at https://developer.apple.com/bugreporting/ describing your use-case in detail.
- Explicit Congestion Notification (ECN) is now enabled by default on Ethernet and Wi-Fi. This is designed to reduce network delays and reduce packet loss.
- The ability to synthesize NAT64 IPv6 addresses from IPv4 literals was added to getaddrinfo.
When using the beginAccessingResourcesWithCompletionHandler: method, any resource that has already been downloaded will report a progress of 0.0 even though it is available locally.
If the remote sleeps in Simulator, when it wakes back up, motion control will no longer work. Workaround: Restart the app.
StoreKit (In-App purchases) do not work in Simulator.
When a scroll view is scrolled due to a focus change, the run loop mode will be set to
UITrackingRunLoopMode. When the scrolling ends, the mode will return to the default mode. This is a change from past behavior. Previously, the run loop mode would not change.