iOS Полноэкранный захват WKWebview со встроенным видео Youtube

Я искал много времени, я нашел некоторые подсказки, но я не могу понять, как применить это к моей проблеме. Поблагодарили бы за любую помощь.

То, что пытается достичь, довольно прямолинейно:

Мое приложение включает WKWebview, воспроизводящее видео на YouTube (с некоторым наложением текста). Я добавил ссылку, чтобы снять скриншот экрана и сохранить его в рулоне камеры.

Результат:

Он отлично работает в Simulator, но на устройстве я вижу только результат, в результате накладываемый текст и фон (предположительно видео) черный.

Вот мой текущий код (SWIFT 3):

... // Save screenshot UIImageWriteToSavedPhotosAlbum(captureScreen(), nil, nil, nil) ... func captureScreen() -> UIImage { UIGraphicsBeginImageContextWithOptions(webView!.bounds.size, webView!.isOpaque, 0) webView!.drawHierarchy(in: webView!.bounds, afterScreenUpdates: false) let image = UIGraphicsGetImageFromCurrentImageContext()! UIGraphicsEndImageContext() return image } 

Я также попробовал (тот же результат)

 ... UIImageWriteToSavedPhotosAlbum(captureScreen(), nil, nil, nil) ... func captureScreen() -> UIImage { let image = UIApplication.shared.screenShot! return image } 

Я читал онлайн, что мы не можем использовать renderInContext: потому что слой GL, содержащий видеоплеер, не захвачен. Поэтому они предлагают фактически объединить содержимое UIImageView и EAGLview ( link1 , link2 ).

Это звучит здорово, но большинство найденных решений написано в объективе-c или относительно сложно ( link3 , link4 , link5 ).

Мне нужна помощь в поиске решения в SWIFT.

Заранее благодарю за ваше время.

  • Самый распространенный способ загрузки UIImage из Интернета
  • UISplitViewController, представленный модально, никогда не выпускается
  • Случайное перемещение объекта по экрану
  • Преобразование широты и долготы в CGPoint
  • Нет такого модуля Parse using Swift в Xcode 7.1
  • Проблема с модульными испытаниями в Xcode 5.1 / iOS 7.1: сбой утверждения в BKSEventFocusManager
  • Инструменты> Распределение, не показывающее классы / объекты приложения
  • iOS: вращение проверки ориентации на ViewDidAppear
  • Как добавить поле «Префикс класса» при создании шаблона проекта xcode
  • Xcode 7.3 Иерархия просмотра отладки симулятора iOS 8 пуста
  • Назначение 'id <UINavigationControllerDelegate, UIImagePickerControllerDelegate>' из несовместимого типа 'ViewController * const__strong'
  • Interesting Posts

    Что лучше всего использовать для повторного использования кучи кода в нескольких контроллерах?

    UIImagePickerController заставляет изображения в других представлениях в полный размер

    IBDesignable from External Framework?

    Swift: как получить имя и фотографию пользователя Parse

    Cocoapods: недостаточно аргументов; где входной документ должен работать?

    Есть ли хорошие инструменты для псевдо-локализации iOS?

    iOS-киоск: push-уведомление не запускает приложение в фоновом режиме

    Могу ли я программно прокручивать до нужной строки в UIPickerView?

    Как читать данные с помощью CocoaAsyncSocket?

    Код состояния HTTP 411 – Требуемая длина

    Как рисовать столбчатые гистограммы в iOS

    Ошибка сегментации: 11 – Xcode 6.3

    почему «window.rootViewController = self.navigationController» необходим в приложении Xcode 4 для навигации?

    Установка начального режима MPMoviePlayerViewController's initialPlaybackTime не работает

    Сохранение экземпляра ViewController

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.