WkWebView копирование строки приложение заморозить - PullRequest
0 голосов
/ 30 апреля 2018

У меня странная проблема, когда пользователь выбирает текст в WkWebView и нажимает кнопку «Копировать», мое приложение зависает. Не выполняется код для копирования, это просто пользователь, который обычно использует wkWebView.

Не отображается сбой или ошибка, но журнал показывает:

Returning local object of class NSString PBItemCollectionServicer connection disconnected.

Когда я приостанавливаю отладчик, это все, что я вижу:

threads

Как мне отладить это? Есть идеи?

1 Ответ

0 голосов
/ 03 мая 2018

Мне не удалось отладить причину этой проблемы, но наше временное решение состояло в том, чтобы предоставить нашим пользователям длительное нажатие для копирования метаданных, которые имеют отношение к пользователю в этом представлении.

На основе этого ответа: UIWebView без копирования / вставки при отображении файлов PDF

let longPress =UILongPressGestureRecognizer(target: self, action: #selector(copyOptions))
longPress.allowableMovement = 100
longPress.minimumPressDuration = 0.3
longPress.delegate = self
longPress.delaysTouchesBegan = true
longPress.delaysTouchesEnded = true
longPress.cancelsTouchesInView = true
self.wrapper.addGestureRecognizer(longPress)

func copyOptions () {
    let alertController = UIAlertController(title: "Copy", message: nil, preferredStyle: .alert)

    alertController.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: { action in

    }))

    if let someValue = self.someObject?.someValue {
        alertController.addAction(UIAlertAction(title: "Copy Some Value", style: .default, handler: { action in
            UIPasteboard.general.string = someValue
        }))
    }


    self.present(alertController, animated: true, completion: nil)
}
...