在 UITextView 中长按 link 时崩溃

Crash on long pressing link inside UITextView

我在长按然后单击 UITextView 中的 link 时遇到奇怪的崩溃。下面是我在 link.

上处理触摸事件的代码
    func textView(_ textView: UITextView, shouldInteractWith URL: URL, in characterRange: NSRange) -> Bool {
    let termsAndConditions : TRTermsAndConditionsViewController = TRTermsAndConditionsViewController(nibName: "TRTermsAndConditionsViewController", bundle: nil)
    let navigationtermsAndConditions = TRBaseNavigationViewController(rootViewController: termsAndConditions)
    self.present(navigationtermsAndConditions, animated: true, completion: nil)
    return false
}

我遇到以下错误:

*** Assertion failure in -[TRADFRI.TRTextViewNonEditable startInteractionWithLinkAtPoint:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit/UIKit-3512.29.5/UITextView_LinkInteraction.m:377

我在谷歌上搜索了很多,也浏览了这些 link link1 link2,但没有取得任何成功。我已经尝试过 "Sukhrob" 和 "ryanphillipthomas" 在 link1 上给出的解决方案以及 "nate.m" 和 "chrismorris" 在 link2 上给出的解决方案。更奇怪的是,我在支持 3D 触摸的设备上遇到此崩溃,例如 iPhone 6S、iPhone 6S Plus(iOS 9 或更高版本)。谁能帮我解决这个问题。

最后我得到了一些帮助解决了这个问题link

所以我从 NSAttributedString 中删除了 link 属性并仅使用下划线属性。通过使用点击手势,我正在检测用户正在点击的字符索引,如果该索引位于我的 hyperlink 范围内,我将打开 URL.