Behaviour · Measured 2026-10-20, iPhone 16 Pro, iOS 18.6.2 (22G100) · A, Instrumented read · Agrees with BCD
Chromium browsers let a page trigger or defer installation through beforeinstallprompt, and a
newer proposal adds navigator.install(). On 2026-10-20, none of the install-related APIs tested was present in a Safari tab or either Home Screen
web app on an iPhone 16 Pro running iOS 18.6.2 (22G100).
Does Safari on iOS expose a programmatic install API (such as navigator.install or BeforeInstallPromptEvent,
including the onbeforeinstallprompt handler) or navigator.getInstalledRelatedApps(), in a Safari tab or
in a Home Screen web app?
We read feature-detection values in three contexts:
- A Safari tab in a WebDriver automation window on four pages (
/lab/device-tests/, /demo/,
/reference/installation/ios-add-to-home-screen/ and /lab/device-tests/t1/no-manifest/),
notebook N03 and N06;
- The OpenPWA demo launched from its Home Screen icon (N13);
- PWA Lab, the Device Lab harness, launched from its Home Screen icon (N18).
Expressions read in each context:
'install' in navigator and typeof navigator.install;
'BeforeInstallPromptEvent' in window and 'onbeforeinstallprompt' in window;
'onappinstalled' in window;
'getInstalledRelatedApps' in navigator.
The demo page also listens for beforeinstallprompt and prints whether it has fired. No page attempted an install; the reads checked whether the APIs were present.
Web Inspector is not needed; the harness prints the values.
- In Safari on the iPhone, open
https://openpwa.net/lab/device-tests/ and scroll to the Results
panel (T5, T9, T10). Read the install rows, or tap Copy results as JSON.
- Tap Share, then Add to Home Screen, then Add. Launch PWA Lab from its icon and read
the same rows.
- Optional: open
https://openpwa.net/demo/ in Safari and in the installed demo, and read
“Browser offered an install prompt (beforeinstallprompt)” in the installability status.
- Optional, with Web Inspector: evaluate
'onappinstalled' in window in both contexts.
On iOS 18.6.2 (22G100) every install API in the list was absent, in the tab and in both Home Screen
apps (Instrumented read, A; notebook N03, N13, N18): 'install' in navigator false,
typeof navigator.install “undefined”, 'BeforeInstallPromptEvent' in window false,
'onbeforeinstallprompt' in window false and 'getInstalledRelatedApps' in navigator false.
'onappinstalled' in window was false in the tab (N03) and in the raw reads of both apps. The demo’s
status read “Not fired yet” for beforeinstallprompt in the tab and in the app.
In Safari on this build, installation goes through the user’s own Share → Add to Home Screen.
A page can detect that it is running as an installed app (display-mode: standalone,
navigator.standalone), but it has no API to start or defer an install, and none to ask whether a
related app is installed.
2026-10-20, iOS 18.6.2
Neither a Safari tab nor the demo Home Screen app exposed navigator.install, BeforeInstallPromptEvent, onbeforeinstallprompt or navigator.getInstalledRelatedApps.
- Date
- 2026-10-20
- Device
- iPhone 16 Pro
- OS and build
- iOS 18.6.2 (22G100), release
- Context
- Safari tab and Home Screen app
- Result
- As expected
- Key values
navigatorInstall: undefinedBeforeInstallPromptEvent: falseonbeforeinstallprompt: falsegetInstalledRelatedApps: false
- Confidence
- A, Instrumented read
- Tests
- T9
- Notebook entries
- N03, N13
- Study
- Read the study · Data package
- Harness
- Harness v1
Harness v1 files used (1), served SHA-256
/lab/device-tests/ 42c90845419f5ed3ad15d941bea04f649f4c5d350b1847292292fadd55871486
BCD records no Safari for iOS support for BeforeInstallPromptEvent
(BeforeInstallPromptEvent.json,
github.com), and its api.Navigator file records install and getInstalledRelatedApps without
Safari support (Navigator.json,
github.com). The Web Install proposal that defines navigator.install() is a WICG draft
(Web Install, wicg.github.io). WebKit’s iOS 16.4 post
describes adding a web app through the Share menu’s Add to Home Screen item
(Web Push for Web Apps on iOS and iPadOS,
webkit.org).
The measurement agrees with these sources. BCD’s Safari for iOS cells do not distinguish a tab
from a Home Screen app; this run shows the APIs are absent in both, so the context makes no
difference for them on 18.6.2. It confirms the documented absence and is not a new finding.
The values are in the study’s
data package (CC BY 4.0): the tab side in
raw/2026-10-20-ios18.6.2-tab-lab.json, raw/2026-10-20-ios18.6.2-tab-demo.json,
raw/2026-10-20-ios18.6.2-tab-ios-a2hs.json (N03) and raw/2026-10-20-ios18.6.2-tab-t1-no-manifest.json
(N06); the demo app in raw/2026-10-20-ios18.6.2-step09-app-demo.json (N13); PWA Lab in
raw/2026-10-20-ios18.6.2-step12-app-lab.json (N18). The machine-readable run is in
/lab/results.json under the id
install-apis-on-ios/2026-10-20-ios-18.6.2-22g100.
The result backs the iOS statements of the install prompt and
navigator.install entries. It also backs
getInstalledRelatedApps() and the
Safari for iOS row of the install prompt compatibility data.
Reference entries
Compatibility data
- One device, one build, one operator, one run day: an iPhone 16 Pro on iOS 18.6.2 (22G100).
- Presence was tested, not behaviour. A browser could in principle dispatch an event with no
matching handler property; no listener-only check for
beforeinstallprompt was run outside the
demo page.
- The tab-side reads came from WebDriver automation windows; feature detection does not depend on
their empty data store.
- Third-party iOS browsers were not tested (T5b was not run). Safari 26.0 changed how added sites
open; this run on 18.6.2 says nothing about iOS 26 or later.
- iPadOS and other iOS builds were not tested. The same device is due to be rerun after its upgrade
to iOS 27.
Device steps performed by an OpenPWA operator on an iPhone 16 Pro. AI agent sessions read page state over USB, kept the notebook and drafted this text; automated gates and an AI fact-check checked it. No person reviews each entry.