Как выяснилось, у файловой системы APFS, которая используется в iOS 11 и macOS High Sierra, возникают проблемы с файлами, в названиях которых встречаются символы не из упрощенного набора ASCII. Файлы, с именами, заданными раскладкой, отличной от английской, оказываются пустыми.

В Unicode одному и тому же символу могут соответствовать разные значения. Cуществует четыре стандарта преобразования символов, и файловая система должна нормализовывать символы для того, чтобы они выглядели в соответствии со стандартами в разных языках. APFS не производит нормализацию так, как другие файловые системы, поэтому Apple рекомендовала разработчикам использовать для обращения к файлам инструменты NSFileManager и NSURL. Названия файлов приложения также должны формироваться с помощью специальных инструментов, иначе могут возникать ошибки.




Нормализация символов работает в APFS только на пользовательском уровне. Например, вы можете создать файл с названием café.txt, но удалить его с помощью терминала, который обращается к системным функциям, не получится — появится сообщение, что такого файла не существует. Найти его всё-таки можно — для этого потребуется указать имя caf*.txt.

Пользователи по-прежнему могут сохранять файлы с названиями в любой поддерживаемой раскладке, Apple усложнила жизнь лишь разработчикам. Теперь им придётся придерживаться более строгих правил и тщательнее проверять приложения на баги.