Guideline 2.5.6
Guideline 2.5.6 - Software Requirements: Non-WebKit Browser Engine Without Entitlement
Our Take
Apple is rejecting your app because it uses a browser engine other than WebKit for rendering web content, and it does not have the required entitlement. Historically, Apple required all web content rendering on iOS to use WebKit. With iOS 17.4 in the EU (under the Digital Markets Act), Apple introduced a process for alternative browser engines, but it requires a specific entitlement and is limited to EU distribution. Outside the EU, all web browsing and web content display must still use WKWebView or SFSafariViewController, both of which are built on WebKit. This means you cannot ship your own Chromium-based or Gecko-based rendering engine in an App Store app distributed globally. This rejection commonly hits: (1) apps that embed Chromium Embedded Framework (CEF) or similar engines, (2) cross-platform frameworks that accidentally include a non-WebKit renderer, (3) apps attempting to ship an alternative browser globally without the EU-specific entitlement, and (4) apps using deprecated UIWebView (which Apple now rejects separately, but it surfaces as a 2.5.6 concern in some cases).
Resolution Guide
Replace with WKWebView
Migrate all web content rendering to WKWebView. This is Apple's modern WebKit-based web view and supports the vast majority of web standards.
Use SFSafariViewController for external links
If you're opening external web pages (not your own web app), SFSafariViewController provides the full Safari experience including content blockers and autofill.
Remove embedded engines
If your app bundles a Chromium, Gecko, or other non-WebKit engine, remove it from the project. Check Frameworks folder and build phases for non-WebKit rendering libraries.
Check cross-platform frameworks
If you're using Electron, .NET MAUI, or similar frameworks, verify the iOS build uses WebKit for rendering. Some frameworks have configuration options for this.
For EU browser developers
If you're building a genuine alternative browser for EU distribution, apply for the Web Browser Engine entitlement through developer.apple.com. This requires agreeing to specific terms and is only for apps distributed in the EU.
Prevention
Example Rejection Email
Consider Appealing
If you are building an alternative browser for EU distribution, explain this and reference the Web Browser Engine entitlement application process. If the non-WebKit engine was included accidentally (e.g., through a cross-platform framework), explain the fix.
Before & After
Electron-based app compiled for iOS including the Chromium rendering engine in the app bundle, with a 180MB binary size
App rebuilt as native iOS app using WKWebView to display the same web-based UI, or rebuilt with Capacitor/Ionic which uses WKWebView on iOS. Binary size reduced to 25MB.
What changed: On iOS, all web rendering must go through WebKit. Cross-platform frameworks that bundle their own engine will be rejected.
Community Solutions · 0
Sign in to share your solution.
More Guideline 2 (Performance) rejections
- Guideline 2.1 - App Completeness: App Crashes During Review
- Guideline 2.1 - App Completeness: App Requires External Hardware Not Provided for Review
- Guideline 2.1 - App Completeness: Crashes on Launch
- Guideline 2.1 - App Completeness: Demo Account Not Working
- Guideline 2.1 - App Completeness: IAP Products Not Found in Binary
- Guideline 2.1 - App Completeness: Missing App Icon