When it comes to tvOS development, you don’t need a separate TV on your desk. Your best development set-up is already there for you on your main computer. Sure, there are a few weird “headless” set-up tasks where you kind of have to rely on faith and blind clicking but you can set up your system pretty easily and reliably without struggling with an extra monitor.
Before you start
Before you start: Make sure you have a USB-C cable to connect to Apple TV unit your computer. These cables are not included in all Apple TV boxes, so prepare in advance. You’ll also need an Apple TV remote of any generation and a recent iOS device.
I recommend using old-style Apple TV remote — you probably have a bunch already on hand. Setup goes smoother with these, and they’re ready to use without charging and pairing.
Just plug in your new Siri remote to charge somewhere with a lightning cable and get down to real work with an older remote. Remember: You do need to maintain line-of sight with IR remotes.
Originally, I set up my system to pass through an HDMI converter and then into Elgato’s EyeTV HD. This is a pretty bad solution as there are significant delays in presentation. Every time I click my remote, I’d have to wait for a full second before I could see the result of that interaction.
EyeTV HD does not support 1080p and there’s a bad bug in the early Apple TV 4th gen that doesn’t “remember” 720p settings. It keeps switching back to “Auto”, which means back to 1080p. My radar has been closed as a duplicate. So it isn’t just me.
QuickTime Player offers a better approach. Just keep your Apple TV connected through USB-C. It takes several steps to get this set up properly but feeding your Apple TV through QuickTime Player not only lets you skip extra monitors on your desk, it enables you to take screenshots and record usage videos. It’s super handy.
Most modern monitors (assuming you’re not working on an iMac) provide multiple HDMI-in ports. If available, you can use these during Apple TV set-up to see what’s going on onscreen. Consider using your display’s picture-in-picture features to multi-share your screen.
Using QuickTime requires that Apple TV’s HDMI port is connected somewhere. As @Rizwan noted on Twitter: “Not rendering UI for me as headless after setup on TV, unless HDMI active. No screenshots either.” So make sure that the HDMI port is connected. Mine always was throughout the entire dev preview period and it didn’t occur to me to disconnect to check in my initial write-up, which I’ve updated in-place several times.
When available, you can always just throw the other end of an HDMI cable onto a spare port on the back of your display. The HDMI doesn’t have to actually be viewed just connected. You can also use a headless dongle that pretends to be a display to ensure your Apple TV is set up for dev use:
Connecting to a spare HDMI port on your monitor allows you to switch over to full-screen TV mode if you’d like. I should note, however, that from a consumer point of view, the 4th gen model is still greatly lacking in usability. I keep a 2nd gen next to my 4th gen and use it to watch movies because the 4th gen just isn’t up to the task.
Once you’ve got the HDMI port bit sorted out, you’re ready to get going.
Restore your device in iTunes. It helps to download the new firmware and put your device into recovery mode. (Press menu and play-pause until the white light repeatedly blinks) Option-Restore and select the firmware.
Here’s a quick reference to the old-style buttons from iClarified:
Once restored, your device needs to be activated. It’s easiest to do this with your Apple TV connected to a TV of some kind, however it is not at all required. I’ve become something of an expert at setting up my Apple TV without seeing it. Here are the steps I take.
First, enable bluetooth on a recent iOS device (I use a 5th gen iPod touch). Unlock it, place it on top of your Apple TV with the screen visible to you and the auto-lock disabled or set to a long timeout. Newer devices can simplify the Apple TV setup process and enable you to “type” on an iOS keyboard instead of the horror of using an Apple TV remote.
Gently press the main “OK” button on your remove (this varies by remote. I used an old silver model, where it’s at the top inside the round controls.) Repeat and wait. If memory serves, the first click selects “English” as the dev language, and the next few clicks select similar agreeable default settings.
At some point (after about 4-6 clicks or so), your iOS device will ask you if you want to set up your Apple TV because you’ve chosen to set up using a device. (Versus setting up manually with an Apple TV remote.)
Go ahead and perform all the steps to set up your iCloud account, App Store account, etc on the iOS device — don’t stray too far away from the Apple TV unit. Continue until your iOS device stops asking your for passwords and first born children.
My new-style Siri remote is a piece of crap and won’t hold a charge. I’ll be replacing it soon. Unfortunately, while I was planning on getting a few extras for better multiplayer testing, I’m now told that’s not going to be a possibility.
Moving to Xcode
In Xcode, you should now be able to open the Devices tab and take screenshots. (Until this point, you could not because the device was not activated).
There are still several steps before you can start using Apple TV. Take screenshots and respond on your remote to each step, which will include enabling location services (why not?), enabling Siri (do it!), enabling the screensaver (lots of bandwidth), sending diagnostics (yes), sending analytics (your call), agreeing to terms and conditions (you gotta).
Once you finally see the main menu on a screenshot, launch QuickTime Player.
Moving to QuickTime Player
In QuickTime Player, select File > New Movie Recording. From there, select your Apple TV as the camera and microphone.
Your Apple TV unit should now be live and usable. You’ll probably want to hop into Home Sharing and get that set up. Don’t forget to use the “press-and-hold” shortcut to move between regular and caps letters when entering your password. If you’re using your Siri Remote, you’ll probably need to pair it so don’t freak out when Apple TV doesn’t respond to any of your interactions.
Move your cursor away from the QuickTime screen to view the content without the QuickTime overlays shown in this screenshot.
You won’t be able to play and record movies because the QuickTime rendering doesn’t do HDCP copy protection stuff, but since this setup is primarily to enable application development and testing, that shouldn’t be a problem.
Congrats and welcome to the world of tvOS dev!