#ios #swiftui #widget #ios14 #widgetkit
#iOS #swiftui #виджет #ios14 #widgetkit
Вопрос:
Как я могу сделать снимок экрана динамического веб-сайта и поместить снимок экрана в виджет рабочего стола iOS? Я хочу создать панель управления виджетами, которая показывает обновление веб-сайта каждый час или около того.
Для контекста я знаю, как решить аналогичную проблему с картами вместо веб-просмотров — вы используете MKMapSnapshotter в функции временной шкалы виджета, чтобы получить снимок экрана карты.
func getMapSnapshot(completionHandler: @escaping (Image) -> Void) {
let coordinate = self.locationManager.location?.coordinate ?? self.defaultCoordinate
let options = MKMapSnapshotter.Options()
options.region = MKCoordinateRegion(center: coordinate, span: self.span)
let snapshot = MKMapSnapshotter(options: options)
snapshot.start { (snapshot, error) in
let image = Image(uiImage: snapshot?.image ?? UIImage(named: "map-placeholder")!)
completionHandler(image)
}
}
Я пытаюсь применить тот же принцип к WKWebViews, но как вы можете сделать снимок экрана WKWebView, если представление не открыто на устройстве. К сожалению, вы не можете использовать WKWebViews в виджетах, поэтому нет способа получить WKWebView на экране виджета, сделать снимок экрана, а затем отобразить снимок экрана. Другие приложения в App Store, похоже, поняли это, так чего же мне не хватает?
Комментарии:
1. Вы что-то узнали? Было бы любопытно, как это сделали другие приложения в магазине.