ITMS-90809 deprecated UIWebView: what it means and how to fix it
What ITMS-90809 means
Apple deprecated UIWebView and introduced WKWebView as its modern, more secure replacement. UIWebView runs web content in the same process as your app and lacks the sandboxing and performance work that went into WebKit's newer view. To move the platform forward, Apple announced it would stop accepting apps that rely on UIWebView.
ITMS-90809 is the message App Store Connect returns when it detects the UIWebView symbol in your uploaded build. Apple searches the compiled binary for the string, so the trigger is the presence of the symbol anywhere in the app, including inside frameworks and static libraries you did not write. The error is raised at upload, before human review.
Why it happens
- An older third-party SDK still links against UIWebView and has not been updated to WKWebView.
- A website-to-app or hybrid framework generated a wrapper that uses UIWebView under the hood.
- Legacy code in the app target still creates a UIWebView directly.
- A transitive dependency, several layers down, references UIWebView even though you never call it.
In modern projects the cause is almost always a dependency rather than first-party code, which is why the symbol can be hard to spot by reading your own source.
How to fix it
- Find the reference. Search your source and your dependencies for UIWebView. From a terminal you can grep the built app or framework binaries for the UIWebView symbol to confirm where it lives.
- Migrate your own code. Replace any UIWebView you create with WKWebView, which is the supported web view and has a similar but not identical API.
- Update dependencies. For an SDK that still uses UIWebView, move to a version that has migrated to WKWebView. Check the vendor's release notes for the change.
- Remove unmaintained libraries. If a dependency has not been updated and still links UIWebView, replace it or remove it, since its symbol alone will keep tripping the check.
- Re-archive and re-upload. The error clears once the binary contains no UIWebView reference.
How AppFlight helps
AppFlight builds native iOS apps in Swift and SwiftUI, with no webviews or wrappers, so a UIWebView reference is not introduced by the way the app is generated. Because AppFlight manages the build and upload path and the integrations it wires in, it keeps dependencies on supported, current versions rather than legacy ones that link deprecated APIs. ITMS-90809 is an upload-time check, and AppFlight reads the error, works on the offending reference or the outdated SDK, and re-submits. AppFlight does not guarantee approval. The binary still has to be clean of UIWebView, and Apple reviews every app after the upload checks pass.
FAQ
What is ITMS-90809?
It is an App Store Connect message that fires when your uploaded binary contains references to UIWebView, an API Apple deprecated. Apple scans the binary for the UIWebView symbol, so a single reference, even inside a third-party library, can trigger it.
Is ITMS-90809 a warning or a hard block?
Apple has stated it no longer accepts apps that use the UIWebView API, so treat it as a block rather than a soft warning. The reliable path is to remove all UIWebView usage and upload a clean build.
The UIWebView reference is in an SDK, not my code. What now?
That is common. Update the dependency to a version that uses WKWebView, or remove the library if it is unmaintained. Because Apple scans the whole binary, a UIWebView symbol inside any included framework still triggers ITMS-90809.