- Objective-C 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
Migrate launch lifecycle, update Kagi defaults, replace alert-based input and menus, async WebKit input probing, preserve cookies across user-agent changes, add TV layout modes, and document fork changes. |
||
| _Project | ||
| docs | ||
| Icons | ||
| .gitignore | ||
| README.mdown | ||
| readme_instruction_01.png | ||
| readme_instruction_02.png | ||
| screen01.png | ||
| screen02.png | ||
| screen03.png | ||
tvOS Browser
Changes in This Fork
- Migrated app launch to the UIScene lifecycle required by current tvOS SDKs.
- Added
SceneDelegatelifecycle handling while preserving existing app delegate setup and cookie save/restore behavior. - Fixed a UIKit event reentrancy crash by moving cursor hover detection out of active
sendEvent:/touch dispatch. - Added async JavaScript evaluation and async DOM/page-action/video probing for input-critical paths, replacing run-loop-pumped WebKit calls for hover, selection, editable field prompting, and video activation.
- Changed the default homepage and search provider from Google to Kagi, including Quick Menu and failed-page search actions.
- Replaced alert-based URL/search, page text entry, and favorite naming fields with a reusable full-screen tvOS input panel.
- Replaced Quick Menu, Favorites, Delete Favorite, and History alert sheets with custom tvOS menu panels.
- Added nullability annotations to the session store interface.
- Added a smoke test checklist at
docs/smoke-test-checklist.md. - Preserved WebKit website data when switching between desktop and mobile user agents so cookies and site sessions are not cleared.
- Added TV layout viewport modes so sites can reflow at desktop, comfortable TV, or large TV widths without default page zoom.
- Kept persisted Side Menu controls for text size and opt-in page zoom.
tvOS Browser is a webbrowser for Apple TV devices running tvOS. It's using private API's, Apple does normally not allow to use this in App Store distributed apps. The latest version has some significant changes:
- It's now using WKWebView instead of UIWebView, which results in much improved performance and better website rendering.
- Added support for browser Tabs
- New modern Liquid Glass UI
- Added (experimental) full screen video player, which you can enable in the Menu
This code is provided as is with no warrenty or liability. Use at your own risk and do not distribute builds of this project on the App Store.
How to Install tvOS Browser
There is no ready to use binary available on this repository. You need to install Xcode and build/run the project yourself. To install this app, connect your Apple TV to your macOS computer via WiFi (or USB on older devices). Open this project in Xcode and install to your Apple TV. Connecting to your Apple TV wirelessly: http://www.redmondpie.com/how-to-wirelessly-connect-apple-tv-4k-to-xcode-on-mac/.
How to Use tvOSBrowser
Quick start:
- Double press on the center of the touch area of the Apple TV Remote to switch between cursor & scroll mode.
- Press the touch area while in cursor mode to click.
- Single tap to Menu button to go back, or exit if it's root page.
- Single tap the Play/Pause button to show the Quick Menu, with: input URLs, search Kagi, reload the page, or go forward.
- Double tap the Play/Pause button to: display the full Side Menu, with: Favorites, History, set/open homepage, change user agent, clear cache, and clear cookies and more.
- Use Side Menu > Readability to choose a TV layout size or adjust text size for TV viewing distance.
The Side menu lets you:
- Go to Home page
- Set Home page
- Manage Favorites
- Manage History
- Show Tabs
- Open New Tab
- Hide/Show top Navigation bar
- Set page Scaling options
- Increase/decrease Font size
- Enable/disable Full Screen player
- Switch Desktop/Mobile User Agent
- Show some video diagnostics
- Clear cache
- Cleare cookies
- Show the usage guide


