Рассматривая некоторые другие проблемы, о которых сообщали люди, и подробности в документации Apple, я думаю, что проблема заключается в том, что WKWebViewConfiguration необходимо настроить до создания WKWebView.
Из документации Apple:
Используя класс WKWebViewConfiguration, вы можете определить, как скоро будет отображаться веб-страница, как обрабатывается воспроизведение мультимедиа, гранулярность элементов, которые может выбрать пользователь, и многие другие параметры.
WKWebViewConfigurationиспользуется только при первой инициализации веб-представления. Вы не можете использовать этот класс для изменения конфигурации веб-представления после того, как оно было создано.
Это соответствует примеру, который Apple предоставляет для использования WKWebView (https://developer.apple.com/documentation/webkit/wkwebview), где вы можете видетьWKWebViewConfiguration передается в настройку WKWebView. Я добавил в playsinline в качестве примера для вашего случая.
import UIKit
import WebKit
class ViewController: UIViewController, WKUIDelegate {
var webView: WKWebView!
override func loadView() {
let webConfiguration = WKWebViewConfiguration()
webConfiguration.allowsInlineMediaPlayback = true //** Added as an example for your case
webView = WKWebView(frame: .zero, configuration: webConfiguration)
webView.uiDelegate = self
view = webView
}
override func viewDidLoad() {
super.viewDidLoad()
let myURL = URL(string:"https://www.apple.com")
let myRequest = URLRequest(url: myURL!)
webView.load(myRequest)
}}
Казалось бы, имеет больше смысла, если свойство не может быть установлено впоследствии, чтобы избежать этогопутаница, но из документации видно, что так оно и есть.