WKWebView Crashes on iOS During YouTube Playlist Playback

I’m encountering a consistent crash in WebKit when using WKWebView to play a YouTube playlist in my iOS app. Playback starts successfully, but the web process terminates during the second video in the playlist. This only occurs on physical devices, not in the simulator.

Here’s a simplified Swift example of my setup:

import SwiftUI
import WebKit

struct ContentView: View {
  private let playlistID = "PLig2mjpwQBZnghraUKGhCqc9eAy0UbpDN"

  var body: some View {
    YouTubeWebView(playlistID: playlistID)
      .edgesIgnoringSafeArea(.all)
  }
}

struct YouTubeWebView: UIViewRepresentable {
  let playlistID: String

  func makeUIView(context: Context) -> WKWebView {
    let config = WKWebViewConfiguration()
    config.allowsInlineMediaPlayback = true

    let webView = WKWebView(frame: .zero, configuration: config)
    webView.scrollView.isScrollEnabled = true

    let html = """
    <!doctype html>
    <html>
      <head>
        <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0">
        <style>body,html{height:100%;margin:0;background:#000}iframe{width:100%;height:100%;border:0}</style>
      </head>
      <body>
        <iframe
          src="https://www.youtube-nocookie.com/embed/videoseries?list=\(playlistID)&controls=1&rel=0&playsinline=1&iv_load_policy=3"
          frameborder="0"
          allow="encrypted-media; picture-in-picture; fullscreen"
          webkit-playsinline
          allowfullscreen
        ></iframe>
      </body>
    </html>
    """

    webView.loadHTMLString(html, baseURL: nil)
    return webView
  }

  func updateUIView(_ uiView: WKWebView, context: Context) {}
}

#Preview {
  ContentView()
}

Observed behavior:

  • First video plays without issue.
  • Web process crashes when the second video in the playlist starts.
  • Console logs show WebProcessProxy::didClose and repeated memory status messages.
  • Using ProcessAssertion or background activity does not prevent the crash.
  • Only occurs on physical devices; simulators do not reproduce the issue.

Questions:

  1. Is there something I should change or add in my WKWebView setup or HTML/iframe to prevent the crash when playing the second video in a playlist on physical iOS devices?
  2. Is there an officially supported way to limit memory or prevent WebKit from terminating the web process during multi-video playback?
  3. Are there recommended patterns for playing YouTube playlists in a WKWebView on iOS without risking crashes?
  4. Any tips for debugging or configuring WKWebView to make it more stable for continuous playlist playback?

Thanks in advance for any guidance!

Answered by DTS Engineer in 862027022

Our engineering teams need to investigate this issue, as resolution may involve changes to Apple's software. Please file a bug report, include a small Xcode project and some directions that can be used to reproduce the problem, and post the Feedback number here once you do. If you post the Feedback number here I'll check the status next time I do a sweep of forums posts where I've suggested bug reports.

Bug Reporting: How and Why? has tips on creating your bug report.

Our engineering teams need to investigate this issue, as resolution may involve changes to Apple's software. Please file a bug report, include a small Xcode project and some directions that can be used to reproduce the problem, and post the Feedback number here once you do. If you post the Feedback number here I'll check the status next time I do a sweep of forums posts where I've suggested bug reports.

Bug Reporting: How and Why? has tips on creating your bug report.

WKWebView Crashes on iOS During YouTube Playlist Playback
 
 
Q