Guideline 4.2
Guideline 4.2 - Design: Web Wrapper or Repackaged Website
Our Take
Apple is rejecting your app because it is essentially a repackaged website — a thin native shell around a WKWebView that loads your existing web content. This is the most common 4.2 rejection by a wide margin. Apple's position is that if your app's core experience is identical to visiting your website in Safari, it doesn't provide enough value to justify being a standalone app. The reviewer likely opened your app, saw it was loading web pages (possibly with visible URL bars, web-style navigation, or responsive web layouts), and flagged it. This rejection is frequently triggered by: apps built with website-to-app converters (WebViewGold, Median, GoNative), businesses that wrapped their existing website for mobile, or PWA-style apps that just load a remote URL. Even if you've added a native navigation bar or tab bar, if the content screens are all web views, you'll get this rejection. The fastest compliant path depends on your situation. If your website is already responsive and works well in Safari, you may be better off submitting a Safari Web App (Home Screen bookmark) instead. If you need a native app, you need to add meaningful native functionality — push notifications alone are not enough. Think native UI components, offline capability, device API integrations (camera, HealthKit, ARKit), or features that genuinely cannot be replicated in a browser.
Resolution Guide
Audit your web view usage
Count how many screens in your app are WKWebViews loading remote content vs. native SwiftUI/UIKit views. If more than 50% are web views, you have a problem.
Add native UI for core screens
Rebuild your most-used screens (home, profile, settings, main content view) using native SwiftUI or UIKit components. These don't need to be complex — native table views, native navigation, and native forms go a long way.
Implement offline capability
Cache content for offline access. Even basic offline reading or viewing of previously loaded content demonstrates native value.
Integrate device APIs
Add at least two meaningful device integrations: push notifications with rich content, camera/photo library for profile pictures or content creation, biometric authentication, Widgets, Shortcuts, or HealthKit/MapKit integration where relevant.
Replace web navigation with native navigation
If you must keep some web views, wrap them in native navigation controllers with native back buttons, native tab bars, and native pull-to-refresh.
Remove visible web artifacts
Ensure no web loading indicators, URL bars, or responsive web breakpoints are visible. The app should feel native even when displaying web content.
Prevention
Example Rejection Email
Consider Appealing
Appealing a web wrapper rejection rarely works unless the reviewer missed native functionality that exists but wasn't obvious. If you have genuine native features, reply in Resolution Center explaining exactly where they are and provide steps to access them. If the app truly is a web wrapper, fix and resubmit — Apple won't budge on this.
Before & After
App loads entire e-commerce site in a full-screen WKWebView with no native navigation, no offline mode, and visible responsive web breakpoints
Home feed rebuilt in native SwiftUI with LazyVGrid, product detail uses native image gallery with pinch-to-zoom, checkout uses native form with Apple Pay, push notifications for order updates, and recently viewed items cached for offline browsing
What changed: The app must offer native experiences that go beyond what Safari provides. Each major screen should use native UI components.
Community Solutions · 0
Sign in to share your solution.
More Guideline 4 (Design) rejections
- Guideline 4.0 - Design: App Does Not Include iOS Features
- Guideline 4.0 - Design: App Looks Like a Website
- Guideline 4.0 - Design: Apple Pay Button Not Following Guidelines
- Guideline 4.0 - Design: Blurry Icons or Low-Resolution Assets
- Guideline 4.0 - Design: Broken Layout on iPad
- Guideline 4.0 - Design: Content Clipped by Notch or Safe Area