iPhone 上的 Chrome、Firefox 與 Edge 其實都用蘋果 WebKit 引擎算繪頁面;這是為什麼,以及核心檢測如何揭穿它。
在 iPhone 上開啟「Chrome」,你實際上並沒有在運行 Chrome 的 Blink 引擎——你運行的是套著 Chrome 介面外皮的蘋果 WebKit。「Firefox」、「Edge」以及幾乎所有其他 iOS 瀏覽器 App 也是同樣的道理。蘋果的 App Store 規則長期以來都要求如此,這正是為什麼你主畫面上的瀏覽器圖示,幾乎無法告訴你底下的頁面究竟是怎麼算繪出來的。以下說明這是為什麼、實際上代表什麼意義,以及你該如何自行檢查。
核心要點
- 在 iOS 上,蘋果的 App Store 規則向來要求每一款瀏覽器 App——包括 Chrome、Firefox 與 Edge——都必須使用蘋果的 WebKit 引擎算繪頁面,而非各自的 Blink 或 Gecko 引擎。
- 這些 App 依然會送出寫著「CriOS」(Chrome)或「FxiOS」(Firefox)的 User-Agent 字串,但底層算繪用的其實是 WebKit——和 Safari 同一個引擎。
- 自 iOS 17.4(2024 年)起,歐盟的《數位市場法》(Digital Markets Act,DMA)要求蘋果在當地開放其他引擎,因此「僅限 WebKit」這條規則開始出現裂縫——但目前僅限歐盟境內,而且進展緩慢。
- 這正是為什麼 BrowserInsight 的核心檢測,會針對一支 User-Agent 自稱是 Chrome 的 iPhone 瀏覽器回報「WebKit」——這是瀏覽器名稱與其真實引擎之間落差的一個具體、可驗證的例子。
- 由於所有 iOS 瀏覽器的算繪表現一致,iPhone 上多數跨瀏覽器的隱私與相容性差異,其實來自 App 層級的功能,而非底層引擎本身。
規則:每一款 iOS 瀏覽器共用同一個引擎
蘋果的 App Store 審查指南(App Store Review Guidelines)長期以來都要求,iOS 上任何具備網頁瀏覽功能的 App,都必須透過系統的 WKWebView 元件使用蘋果自家的 WebKit 引擎,而不能自行搭載算繪引擎。正是這一條規則,讓「iOS 版 Chrome」、「iOS 版 Firefox」與「iOS 版 Edge」全都用和 Safari 相同的底層程式碼算繪頁面——即便它們在桌面版與 Android 版上,用的是完全不同的引擎:Chrome 與 Edge 用 Blink,Firefox 用 Gecko。
嚴格來說,這些 App 並沒有謊報自己的身分。iOS 版 Chrome 貨真價實是 Google 打造的 App,疊加了 Google 的介面、同步功能與擴充功能——它只是沒有用 Google 自家的 Blink 引擎來繪製頁面而已。想了解 Blink、Gecko 與 WebKit 究竟有何不同、這個區別為何重要,可參閱瀏覽器核心解析。
蘋果為何要求這麼做
蘋果官方給出的理由是安全性與一致性:由蘋果統一維護單一算繪引擎,代表每一款 iOS 瀏覽器都能繼承 WebKit 的沙箱機制、記憶體安全性工作與修補節奏,而不必讓每家廠商各自在蘋果平台上打包並修補自己的 JavaScript 引擎。批評者則認為,這項政策同時也發揮了競爭護城河的作用——無論使用者選擇哪一款 App,Blink 或 Gecko 特有的效能表現與網路平台功能,都永遠無法觸及 iOS 使用者,而且這也讓 Safari 自身引擎的限制,事實上成了整個平台的天花板。
無論原因為何,過去十幾年來,這項規則帶來的實際效果都是全面性的:在 iPhone 上換一款瀏覽器 App,改變的只是工具列與同步帳號,底層的算繪引擎絲毫未變。這也是行動裝置指紋識別會與桌面端差異如此之大的原因之一——參見行動裝置瀏覽器指紋識別,了解 iOS 的單一引擎規則如何抹平了一項訊號,同時讓螢幕指標與感測器等手機特有的訊號填補了這個空缺。
歐盟的裂縫:iOS 17.4 與《數位市場法》
這個局面在 2024 年出現了部分改變。歐盟的《數位市場法》(Digital Markets Act,DMA)將蘋果認定為「守門人」(gatekeeper),並要求蘋果自 iOS 17.4 起,向歐盟境內使用者開放其他瀏覽器引擎。蘋果為此推出了全新的 BrowserEngineKit 框架,讓瀏覽器廠商原則上可以——僅限於歐盟境內——搭載自家引擎,而不必經由 WebKit 轉譯。
實務上,這項轉變進展緩慢。Mozilla 的全球政策與競爭團隊在 2025 年 7 月撰文指出,在 DMA 相關義務生效一年多之後,所有 iOS 瀏覽器仍被迫建構在蘋果的 WebKit 引擎之上——而同一期間,Mozilla 自家在歐盟的 iOS 每日活躍使用者數成長了一倍。這兩項事實並陳,正好濃縮了整件事的全貌:DMA 已經改變了歐盟使用者「選哪一款瀏覽器」,卻還沒能改變「瀏覽器裡是誰在算繪」。比起多加一道選擇畫面,要在一個新平台上推出並長期維護第二套引擎,是重得多的工程投入,各家廠商至今仍在努力推進。因此截至目前,「僅限 WebKit」在 iOS 上幾乎各處都仍是實際狀況,就連歐盟境內多數瀏覽器也不例外,歐盟以外則完全如此。請把「iOS 上的替代引擎」視為一項區域性、正在緩慢展開的例外,而不是已經取代了原本規則的既成事實。
如何檢查你的 iPhone 瀏覽器實際用的是哪個引擎
User-Agent 字串不是該看的地方——它只是 App 自行設定的一段文字標籤,每一款瀏覽器對「自己是哪個 App」這件事都很誠實(Chrome 用 CriOS/、Firefox 用 FxiOS/、Edge 用 EdgiOS/),卻完全不會透露真正的算繪引擎是誰。要偵測真正的引擎,得改為檢測 Blink、Gecko 與 WebKit 之間行為與 API 上的差異——功能支援的細微差異、CSS 處理方式,以及 JavaScript 引擎才會露出的破綻,這些都比一段文字標籤難偽造得多。
而這正是 BrowserInsight 的核心檢測在做的事。在 iPhone 的「Chrome」裡執行它,它會回報 WebKit,而不是 Blink——因為那才是真正在繪製頁面的引擎,無論 App 圖示上寫的是什麼。在桌面版 Chrome 裡執行同一項檢測,它則會正確回報 Blink。這兩者之間的落差不是這款工具的錯誤;恰恰相反,這正是它存在的意義——一個即時、可驗證的示範,證明瀏覽器的名稱和它的算繪引擎,可以是兩碼子事。
常見問題
iPhone 上的 Chrome 真的就是 Safari 嗎?
不完全是——它是 Google 的 App,有著 Google 的介面、帳號同步與擴充功能,但它是用蘋果的 WebKit 引擎、而非 Chrome 自家的 Blink 引擎來算繪頁面。所以它並不是 Safari,卻共用了 Safari 的算繪核心。
這是否代表所有 iOS 瀏覽器的表現與行為都一模一樣?
在算繪層面幾乎是這樣——由於它們全都使用 WebKit,頁面版面、CSS 支援與核心 JavaScript 執行實質上是相同的。iOS 瀏覽器之間的差異來自 App 層級的功能:同步、擴充功能、追蹤保護設定與介面,而非來自引擎本身。
蘋果「僅限 WebKit」的規則真的改變了嗎?
只有部分改變,而且僅限於歐盟。自 iOS 17.4 起,依據《數位市場法》,廠商原則上可以透過蘋果的 BrowserEngineKit,向歐盟境內的使用者提供非 WebKit 引擎,但截至本文撰寫時,這項轉變進展緩慢,無論歐盟境內外,大多數瀏覽器仍然運行在 WebKit 之上。
為什麼我明明在用 Chrome,BrowserInsight 的核心檢測卻顯示「WebKit」?
因為這項檢測偵測的是實際處理頁面的算繪引擎,而不是 User-Agent 字串裡的名稱。在 iOS 上,包括 Chrome 在內的每一款瀏覽器 App,實際使用的引擎都是 WebKit——這正是本文要解釋的落差所在。
結語
你在 iPhone 上點的瀏覽器圖示,告訴你的是自己正在使用哪個 App、哪套介面——並不會告訴你頁面究竟是由哪個引擎算繪出來的。十幾年來,那個引擎始終是 WebKit,毫無例外,而歐盟的《數位市場法》也才剛剛開始、緩慢且僅限區域性地撬開這條規則的裂縫。如果你想親眼見證這道落差,不妨在自己平常使用的 iPhone 瀏覽器裡,執行一次 BrowserInsight 的核心檢測,再拿桌面瀏覽器的同一項檢測結果做個對照——這個不一致,正是「瀏覽器的名稱和它的引擎並非同一件事」最清楚的證明。


