Apple TV’s new tvOS has a “UIFocusEngine” that allows users to navigate apps using a keyboard or game controller — and it turns out this is secretly baked into iOS 9.1, too. Using private APIs, it’s possible to build iPhone and iPad apps that are navigable using a physical keyboard.
The discovery was made by developer Steve Troughton-Smith, and it suggests that Apple will one day allow us to control iOS apps using physical keyboards, making navigation easier when using the iPad for work. This makes a lot of sense now that we have iPad Pro.
Confirmed: iOS 9.1 has all the tvOS UI, sans assets. All the focus engine stuff is right there, keyboard-navigable pic.twitter.com/zFByyivjYA
— Steve Troughton-Smith (@stroughtonsmith) November 12, 2015
Troughton-Smith provided Daring Fireball’s John Gruber with a demo project, and just as expected, he was able to control the app on iPad Pro using its Smart Keyboard. However, using the “UIFocusEngine” in iOS is far from optimal for now, Gruber explains:
To be clear, this isn’t useful today, at all. Not only are they all private APIs, but the controls are only accessible through a hardware keyboard. So if you make a regular button with UIKit, it can be tapped (with your finger), but can’t be navigated to using a keyboard; if you make a button using UIFocusEngine, you can select it and trigger it using the keyboard, but it doesn’t respond to touch.
It’s thought this could be a sign, however, that Apple is thinking about making iOS apps navigable using keyboard controls, so when you’re working on your iPad with a Bluetooth keyboard, you’ll be able to control your app, switch between apps, and do more using keyboard shortcuts.
Thanks for the tip, Stan!