ハッシュタグを検出し、各ハッシュタグのリンク属性をhash:[word]
に追加する属性付き文字列があります。この文字列はUITextView
の内部に表示され、リンクとして検出されます。これは普通の文字の単語でうまく動作しますが、絵文字があるとリンクを押すとクラッシュします。通常はtextView(_:shouldInteractWith:in:)
と呼ばれますが、それが呼び出される前にクラッシュします。UITextView URLでemojisを許可する方法
残念ながら、Xcodeのは、その上のコードがクラッシュした任意の特定の行を提供していない、しかし、スタックのトラックは、次のようになります
#0 0x000000010ff4ad55 in static DateComponents._unconditionallyBridgeFromObjectiveC
(NSDateComponents?) -> DateComponents()
#1 0x000000010c2214df in @objc MyTableTextCell.textView(UITextView, shouldInteractWith :
URL, in : _NSRange) -> Bool()
#2 0x0000000110d88282 in -[_UITextViewInteractableLink allowInteraction:]()
#3 0x0000000110d86f22 in -[_UITextViewInteractableItem handleTap]()
#4 0x0000000110d86df4 in -[UITextView(LinkInteraction)
validateInteractionWithLinkAtPoint:]()
#5 0x0000000110749f8b in -[UITextInteractionAssistant(UITextInteractionAssistant_Internal)
linkTapRecognizer:]()
#6 0x0000000110733289 in -[UIGestureRecognizerTarget _sendActionWithGestureRecognizer:]()
は、どのように私は絵文字ハッシュタグのクリックを動作させることができますか?私はそれをエスケープする割合を試しましたが、何もしないようです。
クラッシュと関連するコードの詳細を提供します(これらの詳細について質問を更新してください)。 – rmaddy
@rmaddy done ... – Tometoyou
@rmaddyああ、ちょうどそれを解決!問題は、リンクの 'word'部分が実際にはオプションの文字列で、何らかの形で' hash:\(word) 'をリンクとしてクラッシュさせたことでした。これは、それが絵文字だったときだけです!単語はbtwでエンコードされたパーセントです。 – Tometoyou