ドイツの開発者jvanakker氏が、新型Apple TV(第4世代)で、Safariブラウザを起動させることに成功し、ソースコードおよびデモ動画「4th gen Apple TV Browser hack」を公開されています(MacRumors、iDownloadBlog)。
動画では、Siri Remoteを使ってリンクをクリックしたり、スクロールしたりといった動作が確認できます。
Apple TVでは本来Safariを起動することはできませんが、このプログラムではSDKの Availability.h を編集することでUIWebViewを利用可能としています。
目次
動かしたい場合
バイナリは公開されていませんが、Xcodeを使い自分でビルドすれば、シミュレーターや実機で動かすことができます。ただしビルド前にシミュレーターおよびSDKに含まれるAvailability.hをエディタで修正する必要があります。
シミュレーターの場合、次のファイルをエディタで開いて
sudo nano /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/SDKs/AppleTVSimulator.sdk/usr/include/Availability.h
こように修正します。
編集前 #define __TVOS_UNAVAILABLE __OS_AVAILABILITY(tvos,unavailable) #define __TVOS_PROHIBITED __OS_AVAILABILITY(tvos,unavailable) 編集後 #define __TVOS_UNAVAILABLE_NOTQUITE __OS_AVAILABILITY(tvos,unavailable) #define __TVOS_PROHIBITED_NOTQUITE __OS_AVAILABILITY(tvos,unavailable)
これでシミュレーターでビルドできるようになります。
AppleがなぜApple TVでUIWebViewの使用を禁止しているのか定かではありませんが、tvOSBrowserはApple TVの可能性を示す、一つの実例といえそうです。