And for anybody who's interested into running the same:
//
// WebKitCrashTests.swift
// WebKitCrashTests
//
// Created by Luca Archidiacono on 27.10.2025.
//
import Foundation
import WebKit
final class WKNavigationResponeMock: WKNavigationResponse {
private let urlResponse: URLResponse
override var response: URLResponse { urlResponse }
init(urlResponse: URLResponse) {
self.urlResponse = urlResponse
super.init()
}
convenience init(httpUrlResponse: HTTPURLResponse) {
self.init(urlResponse: httpUrlResponse)
}
convenience init?(url: URL, statusCode: Int) {
guard let httpURLResponse = HTTPURLResponse(url: url, statusCode: statusCode, httpVersion: nil, headerFields: nil) else {
return nil
}
self.init(httpUrlResponse: httpURLResponse)
}
}
import WebKit
import XCTest
final class WebKitCrashTests: XCTestCase {
@MainActor func testAllocAndDeallocWKNavigationResponse() {
let expectedURL = URL(string: "https://galaxus.ch/")!
let expectedStatusCode = 404
guard let expectedResponse = WKNavigationResponeMock(url: expectedURL, statusCode: expectedStatusCode) else {
assertionFailure("Should be not nil")
return
}
XCTAssertEqual(expectedResponse.response.url, expectedURL)
}
}
This should work now ;)