An unexpected side effect of Apple's new Smart Punctuation feature in iOS 11 has manifested and is causing some problems with apps that use Core Data to store strings. Here's how to turn off Smart Punctuation, and why you might want to for now.
First spotted by SongSheet app developer Gabriel Hauber, Smart Punctuation is periodically inserting a null byte. Specifically, if the user enters two dashes, it generates an en-dash. If the user enters three, then the en-dash is displayed, but a null-byte is appended after the en-dash.
The null byte insertion prematurely ends a string, which as a best case causes a truncation of data — but can also lead to instability and crashing.
In all likelihood, Apple is already working on a fix, and given a brief perusal of developer documentations, it appears to be able to be temporarily disabled by app developers. However, to fix the problem on your personal devices and sidestep the issue for now in its entirety, here's how to turn off the feature.
In Settings, tap General. Then, tap Keyboards, and toggle Smart Punctuation to off.