Here’s a quick warning to tvOS devs: always test on a physical AppleTV. Xcode’s tvOS simulators are not always up to date.
In September 2019 tvOS 13.0 was released for Apple TV. It came with changes to the UINavigationController tabBar. In tvOS 12, the tabBar appears on a layover that crosses the top of the screen:
![](https://ios.matelli.org/wp-content/uploads/2019/10/tvOS12-1-1024x576.png)
For tvOS 13.0, the navigation tabBar was changed to float over the existing screen:
![](https://ios.matelli.org/wp-content/uploads/2019/10/tvOS13_0-1024x623.png)
The UI change to this component created some UX issues, making it difficult for some controls to gain focus. Fortunately, this component was reverted back to its previous look and feel in October 2019 with the release of tvOS 13.2.
Unfortunately, Xcode doesn’t make this easy to test. When deploying directly to a tvOS 13.2 device, Xcode 11.1 warns “Could not locate device support files” and encourages developers to download the latest version, despite Xcode being on the latest version.
![](https://ios.matelli.org/wp-content/uploads/2019/10/thanks_apple-1.png)
Thanks, Apple
The issue can be worked-around by publishing a build to TestFlight and downloading it onto the Apple TV. While cumbersome, I encourage all tvOS devs to use an up-to-date physical device while testing their app. Xcode’s Simulators simply can’t be trusted to stay up-to-date.
Bonus tip: installing newer version of tvOS may not be possible, but older versions can still be simulated. Go to Window -> Devices and Simulators and make sure to download the tvOS (not iOS) version you’re looking for.
![](https://ios.matelli.org/wp-content/uploads/2019/10/tvOS_simulators-738x1024.png)