Yeah seems like bug in iOS 15, I am suffering from that too with hyphenation in UILabel and UITextView.
Our app is multi-language and can have few different languages on one screen, but UILabel's and UITextView's auto-hyphenation works only using systems language(first item in preferredLanguages), thus we are placing unicode soft-hyphen characters U+00AD ourself's depending on the dominant language of string itself.
Before iOS 15 we had correct hyphenation, but on new iOS it seems that even if "usesDefaultHyphenation" is off, when string is containing this \u{00AD} unicode soft hyphen symbol that auto-hyphenation activates using systems language rules and adding additional hyphens to the string (and this hyphens wrong if system language English but the word is German).
ViewController.swift
I've added VC file, there are UILabel and UITextView, with string containing customly placed hyphens \u{00AD}. If you will run it on iOS 14 you will see correct hyphenation of "Publikumslieblinge" word, but if you will run it on iOS 15 the hyphenation will be wrong.
Correct hyphenation in German will be: "Pu-bli-kum-lieb-lin-ge".
If iOS will use English hyphenation rules on this German word hyphenation will be: "Pub–likum–slieblinge".
And in our case it mixes both: "Pu-b–li-kum–s-lieb-lin-ge".
Placed TSI ticket, this bug seems breaking any chance to have correct hyphenation for texts with language different from systems language.
Topic:
App & System Services
SubTopic:
General
Tags: