У нас довольно странная проблема с копированием общего ресурса.
Мы просто кратко расскажем о контенте, а затем предоставим ссылку на активность общего ресурса, как в ...
guard let viewController = vc, let sourceView = viewController.view, let url = URL(string: link) else {
return
}
let activityViewController = UIActivityViewController(activityItems: [text, url], applicationActivities: nil)
viewController.present(activityViewController, animated: true, completion: nil)
activityViewController.popoverPresentationController?.sourceView = sourceView
Это прекрасно работает, за исключением нашего внутреннего чата.В нашем текстовом представлении чата появляется текстовое сообщение, но ссылка не отображается рядом с текстом, как ожидалось.
Текстовое представление: SlackTextViewController (я знаю, что этосейчас устарела, мы использовали его некоторое время).Я не смог найти никакой документации, которая бы указывала на то, что они дезинфицируют ввод или каким-либо образом удаляют ссылку, но, скорее всего, это как-то связано с этим компонентом.Я попробовал простую реализацию textView:shouldChangeTextInRange
для печати текста, полученного textView, и, конечно же, там нет никакой ссылки.
Просто для полноты картины это выглядит так.
override func textView(_: UITextView, shouldChangeTextIn _: NSRange, replacementText text: String) -> Bool {
print(text)
return true
}
Кроме того, если вы копируете / вставляете ссылку напрямую, это прекрасно работает.Если вы скопируете текст в виде простого текста и вставите его, он также будет работать нормально.Это наводит меня на мысль, что здесь чего-то не хватает при обработке этого общего текста.
Кто-нибудь сталкивался с этой проблемой в пасте?Есть ли какой-то жизненный цикл / делегат, который необходимо реализовать для обработки общего текста?