Skip to content
Back to journal
iOSApp StoreGuideWebView

How to Pass Apple App Store Guideline 4.2 in 2026 (WebView Apps)

CCode2Native EngineeringEngineering team
Published

Getting ready for App Store review? The checklist covers what Apple looks for beyond a working build, including Guideline 4.2.

Open the App Store checklist

You built a beautiful web app. You wrapped it in a WebView. You submitted it to the App Store. And then you got rejected with this message:

Guideline 4.2 - Minimum Functionality
We found that the experience your app provides is not sufficiently different from a web browsing experience, as it would be if displayed in Safari.

Sound familiar? You're not alone. This is the #1 rejection reason for WebView-based apps. But here's the good news: it's completely fixable.

What Apple Actually Wants

Apple isn't trying to ban WebView apps. They're trying to prevent lazy submissions where someone just wraps a website without adding any value. The key phrase is "native platform integration."

Your app needs to do things a web browser cannot do. Here are the features Apple loves:

Biometric Login

Face ID and Touch ID show you're using native APIs. This is the easiest win.

Push Notifications

APNs integration proves native platform usage. Code2Native's iOS builds do not include it; lean on Face ID and native navigation instead.

Offline Mode

Even a basic "No connection" screen shows you handle the offline case.

Secure Storage

Keychain integration for sensitive data. Goes beyond what localStorage can do.

The Minimum You Need to Pass

Apple's own guideline text and the rejection notes reviewers send back point at the same formula:

The Winning Combination

  • Push Notifications — only where your iOS build includes them (Code2Native's do not)
  • Biometric Auth — Face ID prompt on login or checkout
  • At least one more — Camera, QR, Location, or Offline mode

Add Biometric Login in 5 Minutes

If you're using a JavaScript bridge (like Code2Native provides), here's all the code you need:

// Add this to your login page
if (typeof Code2Native !== 'undefined') {
// Check if biometrics available
if (Code2Native.canUseBiometric() === 'available') {
showBiometricButton();
}
}
// Handle the button click
async function loginWithFaceID() {
try {
await Code2Native.authenticateBiometric({
title: 'Sign In',
subtitle: 'Use Face ID to access your account'
});
// Success! User is authenticated
autoLogin();
} catch (e) {
// User cancelled or auth failed
}
}

Common Mistakes That Get You Rejected

❌ Not testing on a real device

Simulator doesn't show Face ID properly. Apple reviews on real hardware.

❌ Forgetting to mention features in the description

Reviewers read your App Store description. Explicitly mention the native features your app really has, such as "Face ID login". Never claim push notifications your iOS build does not deliver (Code2Native's iOS builds do not include push).

❌ Not using Notes for Reviewer

Add a note like: "This app uses Face ID authentication and native tab navigation."

App Store Connect Pro Tips

  • Screenshots: Include at least one showing a native UI element (Face ID prompt).
  • Description: Add a "Native Features" section listing your platform integrations.
  • Review Notes: Be explicit about your native functionality.
  • Keywords: Don't include "WebView" or "wrapper" — focus on what your app does.

Ready to Build?

Code2Native's native bridge includes biometrics, camera, location and more; push notifications are available in its Android builds.

Before you submit to the App Store

A build is not an approval. Check what reviewers look for, such as value beyond your website, before you submit, and fix what they would see first.

C

Code2Native Engineering

Engineering team

Written by the Code2Native engineering team — the people who build and operate the cloud build pipeline.