Я создатель класса OHAttributedLabel. Спасибо за использование!
Как уже было дано вам напрямую по электронной почте, OHAttributedLabel
использует Apple NSDataDetector
class для автоматического обнаружения ссылок в тексте.
Так что, если есть ошибочно распознанные ссылки, особенно ложные срабатывания, это связано с реализацией NSDataDetector
Apple (и OHAttributedLabel
, к сожалению, не может многое сделать для этого). Единственное, что кажется странным, это то, что NSDataDetector
не обнаруживает одинаковые ссылки на iPad и iPhone ...
Единственный обходной путь , который вы можете реализовать, если вас не устраивают ссылки, найденные в NSDataDetector
Apple, - это удалить значение NSTextCheckingTypePhoneNumber
из automaticallyAddLinksForType
и найти ссылки самостоятельно, например, используя класс NSRegularExpression
.
В любом случае, если вы собираетесь, будьте осторожны, так как обнаружение телефонных номеров вручную не является тривиальным и довольно сложным. В частности, формат телефонных номеров зависит от страны, для которой предназначен телефонный номер (телефоны в США не соответствуют французским или британским), они могут быть отформатированы с использованием пробелов или тире (или нет), они могут быть в международном формате. (+336 07 ...) и так далее ...
На самом деле, это, вероятно, из-за такой сложности, что NSDataDetector
от Apple не может избежать ложноположительных совпадений ...
НТН