Apparently this is to do with Apple's introduction of "Smart Punctuation" in iOS11 which is now enabled by default. Makes text look typographically nicer but breaks data entry apps , passwords etc. Also forces SMS into using Unicode characters, limiting to 80 chars or forcing multiple SMS or even worse MMS messages to be sent.
You can turn smart punctuation off in Settings, tap General. Then, tap Keyboards, and toggle Smart Punctuation to off - but try telling 10,000 users that!
You can disable Smart Punctuation on a per textField basis.
UITextInputTraits, which is adopted by UITextField and UITextView, contains two new properties in iOS 11.
@property(nonatomic) UITextSmartQuotesType smartQuotesType NS_AVAILABLE_IOS(11_0); // default is UITextSmartQuotesTypeDefault; @property(nonatomic) UITextSmartDashesType smartDashesType NS_AVAILABLE_IOS(11_0); // default is UITextSmartDashesTypeDefau