One Logo Pool Ball
WebKit · IOS API REFERENCE

WKWebView

class · iOS 8.0+ · SDK 27.1

@MainActor class WKWebView

Members (87)

static · iOS 11.0+

handlesURLScheme

TypeScript
static handlesURLScheme(urlScheme: string): Promise<boolean>
Swift declaration
class func handlesURLScheme(_ urlScheme: String) -> Bool
method · iOS 14.5+ · Deprecated in iOS 15.0

closeAllMediaPresentations

TypeScript
closeAllMediaPresentations(): Promise<void>
Swift declaration
func closeAllMediaPresentations()
method · iOS 15.0+

closeAllMediaPresentations

TypeScript
closeAllMediaPresentationsCompletionHandler(completionHandler?: ((() => void)) | null): Promise<void>
Swift declaration
func closeAllMediaPresentations() async
method · iOS 8.0+

evaluateJavaScript

TypeScript
evaluateJavaScriptCompletionHandler(javaScriptString: string, completionHandler?: (((arg0: (unknown) | null, arg1: (NativeError) | null) => void)) | null): Promise<void>
Swift declaration
func evaluateJavaScript(_ javaScriptString: String) async throws -> Any?
method · iOS 26.0+

fetchData

TypeScript
fetchData(dataTypes: WKWebViewDataType, completionHandler: ((arg0: (ArrayBuffer) | null, arg1: (NativeError) | null) => void)): Promise<void>
Swift declaration
func fetchData(of dataTypes: WKWebViewDataType) async throws -> Data
method · iOS 8.0+

goBack

TypeScript
goBack(): Promise<(WKNavigation) | null>
Swift declaration
func goBack() -> WKNavigation?
method · iOS 8.0+

goForward

TypeScript
goForward(): Promise<(WKNavigation) | null>
Swift declaration
func goForward() -> WKNavigation?
method · iOS 8.0+

go

TypeScript
go(item: WKBackForwardListItem): Promise<(WKNavigation) | null>
Swift declaration
func go(to item: WKBackForwardListItem) -> WKNavigation?
init · iOS 8.0+

init

TypeScript
static initCoder(coder: _Foundation_NSCoder): Promise<(WKWebView) | null>
Swift declaration
init?(coder: NSCoder)
init · iOS 8.0+

init

TypeScript
static initFrameConfiguration(frame: { x: number; y: number; width: number; height: number }, configuration: WKWebViewConfiguration): Promise<WKWebView>
Swift declaration
init(frame: CGRect, configuration: WKWebViewConfiguration)
method · iOS 9.0+

load

TypeScript
loadMimeTypeCharacterEncodingNameBaseURL(data: ArrayBuffer, MIMEType: string, characterEncodingName: string, baseURL: string): Promise<(WKNavigation) | null>
Swift declaration
func load(_ data: Data, mimeType MIMEType: String, characterEncodingName: String, baseURL: URL) -> WKNavigation?
method · iOS 15.0+

loadFileRequest

TypeScript
loadFileRequest(request: _Foundation_URLRequest, readAccessURL: string): Promise<WKNavigation>
Swift declaration
func loadFileRequest(_ request: URLRequest, allowingReadAccessTo readAccessURL: URL) -> WKNavigation
method · iOS 9.0+

loadFileURL

TypeScript
loadFileURL(URL: string, readAccessURL: string): Promise<(WKNavigation) | null>
Swift declaration
func loadFileURL(_ URL: URL, allowingReadAccessTo readAccessURL: URL) -> WKNavigation?
method · iOS 8.0+

loadHTMLString

TypeScript
loadHTMLString(string: string, baseURL?: (string) | null): Promise<(WKNavigation) | null>
Swift declaration
func loadHTMLString(_ string: String, baseURL: URL?) -> WKNavigation?
method · iOS 8.0+

load

TypeScript
load(request: _Foundation_URLRequest): Promise<(WKNavigation) | null>
Swift declaration
func load(_ request: URLRequest) -> WKNavigation?
method · iOS 15.0+

loadSimulatedRequest

TypeScript
loadSimulatedRequestResponseResponseData(request: _Foundation_URLRequest, response: _Foundation_URLResponse, data: ArrayBuffer): Promise<WKNavigation>
Swift declaration
func loadSimulatedRequest(_ request: URLRequest, response: URLResponse, responseData data: Data) -> WKNavigation
method · iOS 15.0+

loadSimulatedRequest

TypeScript
loadSimulatedRequestResponseHTML(request: _Foundation_URLRequest, string: string): Promise<WKNavigation>
Swift declaration
func loadSimulatedRequest(_ request: URLRequest, responseHTML string: String) -> WKNavigation
method · iOS 15.0+ · Deprecated in iOS 15.0

loadSimulatedRequest

TypeScript
loadSimulatedRequestWithResponseData(request: _Foundation_URLRequest, response: _Foundation_URLResponse, data: ArrayBuffer): Promise<WKNavigation>
Swift declaration
func loadSimulatedRequest(_ request: URLRequest, with response: URLResponse, responseData data: Data) -> WKNavigation
method · iOS 15.0+ · Deprecated in iOS 15.0

loadSimulatedRequest

TypeScript
loadSimulatedRequestWithResponseHTML(request: _Foundation_URLRequest, string: string): Promise<WKNavigation>
Swift declaration
func loadSimulatedRequest(_ request: URLRequest, withResponseHTML string: String) -> WKNavigation
method · iOS 27.0+

load

TypeScript
load38340(url: string): Promise<(WKNavigation) | null>
Swift declaration
func load(_ url: URL) -> WKNavigation?
method · iOS 15.0+

pauseAllMediaPlayback

TypeScript
pauseAllMediaPlayback(completionHandler?: ((() => void)) | null): Promise<void>
Swift declaration
func pauseAllMediaPlayback() async
method · iOS 8.0+

reload

TypeScript
reload(): Promise<(WKNavigation) | null>
Swift declaration
func reload() -> WKNavigation?
method · iOS 8.0+

reloadFromOrigin

TypeScript
reloadFromOrigin(): Promise<(WKNavigation) | null>
Swift declaration
func reloadFromOrigin() -> WKNavigation?
method · iOS 15.0+

requestMediaPlaybackState

TypeScript
requestMediaPlaybackState(completionHandler: ((arg0: WKMediaPlaybackState) => void)): Promise<void>
Swift declaration
func requestMediaPlaybackState() async -> WKMediaPlaybackState
method · iOS 26.0+

restoreData

TypeScript
restoreData(data: ArrayBuffer, completionHandler: ((arg0: (NativeError) | null) => void)): Promise<void>
Swift declaration
func restoreData(_ data: Data) async throws
method · iOS 14.5+

resumeDownload

TypeScript
resumeDownload(resumeData: ArrayBuffer, completionHandler: ((arg0: WKDownload) => void)): Promise<void>
Swift declaration
func resumeDownload(fromResumeData resumeData: Data) async -> WKDownload
method · iOS 15.0+

setAllMediaPlaybackSuspended

TypeScript
setAllMediaPlaybackSuspended(suspended: boolean, completionHandler?: ((() => void)) | null): Promise<void>
Swift declaration
func setAllMediaPlaybackSuspended(_ suspended: Bool) async
method · iOS 15.0+

setCameraCaptureState

TypeScript
setCameraCaptureState(state: WKMediaCaptureState, completionHandler?: ((() => void)) | null): Promise<void>
Swift declaration
func setCameraCaptureState(_ state: WKMediaCaptureState) async
method · iOS 15.0+

setMicrophoneCaptureState

TypeScript
setMicrophoneCaptureState(state: WKMediaCaptureState, completionHandler?: ((() => void)) | null): Promise<void>
Swift declaration
func setMicrophoneCaptureState(_ state: WKMediaCaptureState) async
method · iOS 15.5+

setMinimumViewportInset

TypeScript
setMinimumViewportInset(minimumViewportInset: { top: number; left: number; bottom: number; right: number }, maximumViewportInset: { top: number; left: number; bottom: number; right: number }): Promise<void>
Swift declaration
func setMinimumViewportInset(_ minimumViewportInset: UIEdgeInsets, maximumViewportInset: UIEdgeInsets)
method · iOS 14.5+

startDownload

TypeScript
startDownload(request: _Foundation_URLRequest, completionHandler: ((arg0: WKDownload) => void)): Promise<void>
Swift declaration
func startDownload(using request: URLRequest) async -> WKDownload
method · iOS 8.0+

stopLoading

TypeScript
stopLoading(): Promise<void>
Swift declaration
func stopLoading()
method · iOS 11.0+

takeSnapshot

TypeScript
takeSnapshot(snapshotConfiguration: (WKSnapshotConfiguration) | null, completionHandler: ((arg0: (_UIKit_UIImage) | null, arg1: (NativeError) | null) => void)): Promise<void>
Swift declaration
func takeSnapshot(configuration snapshotConfiguration: WKSnapshotConfiguration?) async throws -> UIImage
get · iOS 8.0+

uiDelegate

TypeScript
get uiDelegate(): Promise<(SDKHandle) | null>
Swift declaration
weak var uiDelegate: (any WKUIDelegate)? { get set }
set · iOS 8.0+

uiDelegate

TypeScript
setUiDelegate(value?: (Implements<WKUIDelegate> | SDKHandle) | null): Promise<void>
Swift declaration
weak var uiDelegate: (any WKUIDelegate)? { get set }
get · iOS 8.0+

url

TypeScript
get url(): Promise<(string) | null>
Swift declaration
var url: URL? { get }
get · iOS 8.0+

allowsBackForwardNavigationGestures

TypeScript
get allowsBackForwardNavigationGestures(): Promise<boolean>
Swift declaration
var allowsBackForwardNavigationGestures: Bool { get set }
set · iOS 8.0+

allowsBackForwardNavigationGestures

TypeScript
setAllowsBackForwardNavigationGestures(value: boolean): Promise<void>
Swift declaration
var allowsBackForwardNavigationGestures: Bool { get set }
get · iOS 9.0+

allowsLinkPreview

TypeScript
get allowsLinkPreview(): Promise<boolean>
Swift declaration
var allowsLinkPreview: Bool { get set }
set · iOS 9.0+

allowsLinkPreview

TypeScript
setAllowsLinkPreview(value: boolean): Promise<void>
Swift declaration
var allowsLinkPreview: Bool { get set }
get · iOS 8.0+

backForwardList

TypeScript
get backForwardList(): Promise<WKBackForwardList>
Swift declaration
var backForwardList: WKBackForwardList { get }
get · iOS 15.0+

cameraCaptureState

TypeScript
get cameraCaptureState(): Promise<WKMediaCaptureState>
Swift declaration
var cameraCaptureState: WKMediaCaptureState { get }
get · iOS 8.0+

canGoBack

TypeScript
get canGoBack(): Promise<boolean>
Swift declaration
var canGoBack: Bool { get }
get · iOS 8.0+

canGoForward

TypeScript
get canGoForward(): Promise<boolean>
Swift declaration
var canGoForward: Bool { get }
get · iOS 9.0+ · Deprecated in iOS 10.0

certificateChain

TypeScript
get certificateChain(): Promise<Array<unknown>>
Swift declaration
var certificateChain: [Any] { get }
get · iOS 8.0+

configuration

TypeScript
get configuration(): Promise<WKWebViewConfiguration>
Swift declaration
@NSCopying var configuration: WKWebViewConfiguration { get }
get · iOS 9.0+

customUserAgent

TypeScript
get customUserAgent(): Promise<(string) | null>
Swift declaration
var customUserAgent: String? { get set }
set · iOS 9.0+

customUserAgent

TypeScript
setCustomUserAgent(value?: (string) | null): Promise<void>
Swift declaration
var customUserAgent: String? { get set }
get · iOS 8.0+

estimatedProgress

TypeScript
get estimatedProgress(): Promise<number>
Swift declaration
var estimatedProgress: Double { get }
get · iOS 16.0+

findInteraction

TypeScript
get findInteraction(): Promise<(_UIKit_UIFindInteraction) | null>
Swift declaration
var findInteraction: UIFindInteraction? { get }
get · iOS 16.0+

isFindInteractionEnabled

TypeScript
get isFindInteractionEnabled(): Promise<boolean>
Swift declaration
var isFindInteractionEnabled: Bool { get set }
set · iOS 16.0+

isFindInteractionEnabled

TypeScript
setIsFindInteractionEnabled(value: boolean): Promise<void>
Swift declaration
var isFindInteractionEnabled: Bool { get set }
get · iOS 16.0+

fullscreenState

TypeScript
get fullscreenState(): Promise<WKWebView_FullscreenState>
Swift declaration
var fullscreenState: WKWebView.FullscreenState { get }
get · iOS 8.0+

hasOnlySecureContent

TypeScript
get hasOnlySecureContent(): Promise<boolean>
Swift declaration
var hasOnlySecureContent: Bool { get }
get · iOS 16.4+

isInspectable

TypeScript
get isInspectable(): Promise<boolean>
Swift declaration
var isInspectable: Bool { get set }
set · iOS 16.4+

isInspectable

TypeScript
setIsInspectable(value: boolean): Promise<void>
Swift declaration
var isInspectable: Bool { get set }
get · iOS 15.0+

interactionState

TypeScript
get interactionState(): Promise<(unknown) | null>
Swift declaration
var interactionState: Any? { get set }
set · iOS 15.0+

interactionState

TypeScript
setInteractionState(value?: (unknown) | null): Promise<void>
Swift declaration
var interactionState: Any? { get set }
get · iOS 26.0+

isBlockedByScreenTime

TypeScript
get isBlockedByScreenTime(): Promise<boolean>
Swift declaration
var isBlockedByScreenTime: Bool { get }
get · iOS 8.0+

isLoading

TypeScript
get isLoading(): Promise<boolean>
Swift declaration
var isLoading: Bool { get }
get · iOS 15.5+

maximumViewportInset

TypeScript
get maximumViewportInset(): Promise<{ top: number; left: number; bottom: number; right: number }>
Swift declaration
var maximumViewportInset: UIEdgeInsets { get }
get · iOS 14.0+

mediaType

TypeScript
get mediaType(): Promise<(string) | null>
Swift declaration
var mediaType: String? { get set }
set · iOS 14.0+

mediaType

TypeScript
setMediaType(value?: (string) | null): Promise<void>
Swift declaration
var mediaType: String? { get set }
get · iOS 15.0+

microphoneCaptureState

TypeScript
get microphoneCaptureState(): Promise<WKMediaCaptureState>
Swift declaration
var microphoneCaptureState: WKMediaCaptureState { get }
get · iOS 15.5+

minimumViewportInset

TypeScript
get minimumViewportInset(): Promise<{ top: number; left: number; bottom: number; right: number }>
Swift declaration
var minimumViewportInset: UIEdgeInsets { get }
get · iOS 8.0+

navigationDelegate

TypeScript
get navigationDelegate(): Promise<(SDKHandle) | null>
Swift declaration
weak var navigationDelegate: (any WKNavigationDelegate)? { get set }
set · iOS 8.0+

navigationDelegate

TypeScript
setNavigationDelegate(value?: (SDKHandle) | null): Promise<void>
Swift declaration
weak var navigationDelegate: (any WKNavigationDelegate)? { get set }
get · iOS 26.0+

obscuredContentInsets

TypeScript
get obscuredContentInsets(): Promise<{ top: number; left: number; bottom: number; right: number }>
Swift declaration
var obscuredContentInsets: UIEdgeInsets { get set }
set · iOS 26.0+

obscuredContentInsets

TypeScript
setObscuredContentInsets(value: { top: number; left: number; bottom: number; right: number }): Promise<void>
Swift declaration
var obscuredContentInsets: UIEdgeInsets { get set }
get · iOS 14.0+

pageZoom

TypeScript
get pageZoom(): Promise<number>
Swift declaration
var pageZoom: CGFloat { get set }
set · iOS 14.0+

pageZoom

TypeScript
setPageZoom(value: number): Promise<void>
Swift declaration
var pageZoom: CGFloat { get set }
get · iOS 8.0+

scrollView

TypeScript
get scrollView(): Promise<_UIKit_UIScrollView>
Swift declaration
var scrollView: UIScrollView { get }
get · iOS 10.0+

serverTrust

TypeScript
get serverTrust(): Promise<(_Security_SecTrust) | null>
Swift declaration
var serverTrust: SecTrust? { get }
get · iOS 15.0+

themeColor

TypeScript
get themeColor(): Promise<(_UIKit_UIColor) | null>
Swift declaration
var themeColor: UIColor? { get }
get · iOS 8.0+

title

TypeScript
get title(): Promise<(string) | null>
Swift declaration
var title: String? { get }
get · iOS 15.0+

underPageBackgroundColor

TypeScript
get underPageBackgroundColor(): Promise<(_UIKit_UIColor) | null>
Swift declaration
@NSCopying var underPageBackgroundColor: UIColor! { get set }
set · iOS 15.0+

underPageBackgroundColor

TypeScript
setUnderPageBackgroundColor(value?: (_UIKit_UIColor) | null): Promise<void>
Swift declaration
@NSCopying var underPageBackgroundColor: UIColor! { get set }
get · iOS 18.0+

isWritingToolsActive

TypeScript
get isWritingToolsActive(): Promise<boolean>
Swift declaration
var isWritingToolsActive: Bool { get }
method · iOS 14.0+

createWebArchiveData

TypeScript
createWebArchiveData(completionHandler: ((arg0: SDKHandle) => void)): Promise<void>
Swift declaration
@MainActor @preconcurrency func createWebArchiveData(completionHandler: @escaping @MainActor @Sendable (Result<Data, any Error>) -> Void)
method · iOS 15.0+

evaluateJavaScript

TypeScript
evaluateJavaScriptInContentWorld(javaScript: string, frame: (WKFrameInfo) | null, contentWorld: WKContentWorld): Promise<(unknown) | null>
Swift declaration
@MainActor @preconcurrency func evaluateJavaScript(_ javaScript: String, in frame: WKFrameInfo? = nil, contentWorld: WKContentWorld) async throws -> Any?
method · iOS 14.0+

evaluateJavaScript

TypeScript
evaluateJavaScriptInInCompletionHandler(javaScript: string, frame: (WKFrameInfo) | null, contentWorld: WKContentWorld, completionHandler?: (((arg0: SDKHandle) => void)) | null): Promise<void>
Swift declaration
@MainActor @preconcurrency func evaluateJavaScript(_ javaScript: String, in frame: WKFrameInfo? = nil, in contentWorld: WKContentWorld, completionHandler: (@MainActor @Sendable (Result<Any, any Error>) -> Void)? = nil)
method · iOS 15.0+

callAsyncJavaScript

TypeScript
callAsyncJavaScriptArgumentsInContentWorld(functionBody: string, arguments_: Record<string, unknown>, frame: (WKFrameInfo) | null, contentWorld: WKContentWorld): Promise<(unknown) | null>
Swift declaration
@MainActor @preconcurrency func callAsyncJavaScript(_ functionBody: String, arguments: [String : Any] = [:], in frame: WKFrameInfo? = nil, contentWorld: WKContentWorld) async throws -> Any?
method · iOS 14.0+

callAsyncJavaScript

TypeScript
callAsyncJavaScriptArgumentsInInCompletionHandler(functionBody: string, arguments_: Record<string, unknown>, frame: (WKFrameInfo) | null, contentWorld: WKContentWorld, completionHandler?: (((arg0: SDKHandle) => void)) | null): Promise<void>
Swift declaration
@MainActor @preconcurrency func callAsyncJavaScript(_ functionBody: String, arguments: [String : Any] = [:], in frame: WKFrameInfo? = nil, in contentWorld: WKContentWorld, completionHandler: (@MainActor @Sendable (Result<Any, any Error>) -> Void)? = nil)
method · iOS 15.0+

pdf

TypeScript
pdf(configuration?: WKPDFConfiguration): Promise<ArrayBuffer>
Swift declaration
@MainActor @preconcurrency func pdf(configuration: WKPDFConfiguration = .init()) async throws -> Data
method · iOS 14.0+

find

TypeScript
findConfigurationCompletionHandler(string: string, configuration: WKFindConfiguration, completionHandler: ((arg0: WKFindResult) => void)): Promise<void>
Swift declaration
@MainActor @preconcurrency func find(_ string: String, configuration: WKFindConfiguration = .init(), completionHandler: @escaping @MainActor @Sendable (WKFindResult) -> Void)
method · iOS 15.0+

find

TypeScript
findConfiguration(string: string, configuration?: WKFindConfiguration): Promise<WKFindResult>
Swift declaration
@MainActor @preconcurrency func find(_ string: String, configuration: WKFindConfiguration = .init()) async throws -> WKFindResult
method · iOS 14.0+

createPDF

TypeScript
createPDF(configuration: WKPDFConfiguration, completionHandler: ((arg0: SDKHandle) => void)): Promise<void>
Swift declaration
@MainActor @preconcurrency func createPDF(configuration: WKPDFConfiguration = .init(), completionHandler: @escaping @MainActor @Sendable (Result<Data, any Error>) -> Void)

Skipped declarations

1 declarations were excluded from these bindings. Each reason comes from the generator or the iOS SDK compiler.

WKWebView.init()

inherited init: cannot prove legal (class declares 1 custom initializer)

All WebKit types →