---
title: WebKit for AppKit and UIKit
framework: WebKit
role: collectionGroup
role_heading: API Collection
path: webkit/webkit-for-appkit-and-uikit
---

# WebKit for AppKit and UIKit

Display web content in AppKit or UIKit apps, or apps built with Objective-C.

## Overview

Overview Present a WKWebView object from your custom view hierarchies and load the content you want to display. Use supporting objects to manage cookies, evaluate scripts, control navigation, generate snapshots, and perform text-based searches. important: Always call WebKit functions and methods from your app’s main thread or main dispatch queue.

## Topics

### Web views

- [Replacing UIWebView in your app](webkit/replacing-uiwebview-in-your-app.md)
- [Viewing Desktop or Mobile Web Content Using a Web View](webkit/viewing-desktop-or-mobile-web-content-using-a-web-view.md)
- [WKWebView](webkit/wkwebview.md)
- [WKUIDelegate](webkit/wkuidelegate.md)

### Web view configuration

- [WKWebViewConfiguration](webkit/wkwebviewconfiguration.md)
- [WKWindowFeatures](webkit/wkwindowfeatures.md)
- [WKProcessPool](webkit/wkprocesspool.md)
- [WKPreferences](webkit/wkpreferences.md)
- [WKWebpagePreferences](webkit/wkwebpagepreferences.md)
- [WKWebpagePreferences.ContentMode](webkit/wkwebpagepreferences/contentmode.md)
- [WKWebpagePreferences.UpgradeToHTTPSPolicy](webkit/wkwebpagepreferences/upgradetohttpspolicy.md)
- [WKSecurityRestrictionMode](webkit/wksecurityrestrictionmode.md)
- [WKPreferences.InactiveSchedulingPolicy](webkit/wkpreferences/inactiveschedulingpolicy-swift.enum.md)
- [WKWebView.FullscreenState](webkit/wkwebview/fullscreenstate-swift.enum.md)

### Web data management

- [WKWebsiteDataStore](webkit/wkwebsitedatastore.md)
- [WKWebsiteDataRecord](webkit/wkwebsitedatarecord.md)
- [WKHTTPCookieStore](webkit/wkhttpcookiestore.md)
- [WKURLSchemeHandler](webkit/wkurlschemehandler.md)
- [WKURLSchemeTask](webkit/wkurlschemetask.md)
- [readAccessURL](foundation/nsattributedstring/documentreadingoptionkey/readaccessurl.md)

### Navigation

- [WKNavigationDelegate](webkit/wknavigationdelegate.md)
- [WKBackForwardList](webkit/wkbackforwardlist.md)
- [WKBackForwardListItem](webkit/wkbackforwardlistitem.md)
- [WKNavigation](webkit/wknavigation.md)
- [WKNavigationAction](webkit/wknavigationaction.md)
- [WKNavigationResponse](webkit/wknavigationresponse.md)
- [WKFormInfo](webkit/wkforminfo.md)

### Downloads

- [WKDownload](webkit/wkdownload.md)
- [WKDownloadDelegate](webkit/wkdownloaddelegate.md)
- [WKDownload.PlaceholderPolicy](webkit/wkdownload/placeholderpolicy.md)

### Page content

- [WKUserContentController](webkit/wkusercontentcontroller.md)
- [WKContentRuleListStore](webkit/wkcontentruleliststore.md)
- [WKContentWorld](webkit/wkcontentworld.md)
- [WKFrameInfo](webkit/wkframeinfo.md)
- [WKSecurityOrigin](webkit/wksecurityorigin.md)
- [WKUserScript](webkit/wkuserscript.md)
- [WKContentWorld.Configuration](webkit/wkcontentworld/configuration.md)
- [WKJSHandle](webkit/wkjshandle.md)

### Page-level search

- [WKFindConfiguration](webkit/wkfindconfiguration.md)
- [WKFindResult](webkit/wkfindresult.md)

### Contextual menus

- [WKContextMenuElementInfo](webkit/wkcontextmenuelementinfo.md)

### Snapshots

- [WKSnapshotConfiguration](webkit/wksnapshotconfiguration.md)
- [WKPDFConfiguration](webkit/wkpdfconfiguration.md)

### Web extensions

- [WKWebExtension](webkit/wkwebextension.md)
- [WKWebExtensionTab](webkit/wkwebextensiontab.md)
- [WKWebExtensionWindow](webkit/wkwebextensionwindow.md)
- [WKWebExtensionContext](webkit/wkwebextensioncontext.md)
- [WKWebExtensionController](webkit/wkwebextensioncontroller.md)
- [WKWebExtensionControllerDelegate](webkit/wkwebextensioncontrollerdelegate.md)
- [WKWebExtension.Action](webkit/wkwebextension/action.md)
- [WKWebExtension.Command](webkit/wkwebextension/command.md)
- [WKWebExtension.MatchPattern](webkit/wkwebextension/matchpattern.md)
- [WKWebExtension.MessagePort](webkit/wkwebextension/messageport.md)
- [WKWebExtension.DataRecord](webkit/wkwebextension/datarecord.md)
- [WKWebExtension.TabConfiguration](webkit/wkwebextension/tabconfiguration.md)
- [WKWebExtension.WindowConfiguration](webkit/wkwebextension/windowconfiguration.md)
- [WKWebExtensionController.Configuration](webkit/wkwebextensioncontroller/configuration-swift.class.md)

### Errors

- [WKError.Code](webkit/wkerror/code.md)
- [WKError](webkit/wkerror.md)

### Immersive environments

- [WKImmersiveEnvironment](webkit/wkimmersiveenvironment.md)
- [WKImmersiveEnvironmentDelegate](webkit/wkimmersiveenvironmentdelegate.md)
- [allowsImmersiveEnvironments](webkit/wkwebviewconfiguration/allowsimmersiveenvironments.md)
- [immersiveEnvironmentDelegate](webkit/wkwebview/immersiveenvironmentdelegate.md)
- [dismissImmersiveEnvironment(completionHandler:)](webkit/wkwebview/dismissimmersiveenvironment(completionhandler:).md)

### Deprecated

- [Deprecated Symbols](webkit/deprecated-symbols.md)

### Web extension errors

- [WKWebExtension.Error.Code](webkit/wkwebextension/error/code.md)
- [WKWebExtensionContext.Error.Code](webkit/wkwebextensioncontext/error/code.md)
- [WKWebExtension.DataRecord.Error.Code](webkit/wkwebextension/datarecord/error/code.md)
- [WKWebExtension.DataRecord.Error](webkit/wkwebextension/datarecord/error.md)
- [WKWebExtension.MatchPattern.Error.Code](webkit/wkwebextension/matchpattern/error/code.md)
- [WKWebExtension.MessagePort.Error.Code](webkit/wkwebextension/messageport/error/code.md)
- [WKWebExtension.MessagePort.Error](webkit/wkwebextension/messageport/error.md)

## See Also

### WebKit APIs

- [WebKit for SwiftUI](webkit/webkit-for-swiftui.md)
