Я делаю приложение для управления файлами, которое позволяет пользователям создавать и перемещать файлы.У меня проблема с перемещением файлов, когда имя файла или имя каталога содержит специальный символ, эмодзи или букву не из английского алфавита.Но я вижу, что есть много приложений, которые позволяют создавать папки и файлы с этими символами в имени и перемещать их.Почему я не могу этого сделать?
Я перемещаю файл в папку с именем emoji.Например, этот код не создает ошибку, но в папке назначения файл не отображается:
try FileManager.default.moveItem(atPath: atPath, toPath: toPath)
atPath:
/ var / mobile / Containers / Data / Application /99F4B9F3-6EEB-4CA6-8BFF-73E761213C08 / Документы /% E2% 9D% A4% EF% B8% 8F / 201902180150250650.pdf
toPath:
/ var / mobile /Контейнеры / Данные / Приложение / 0702B04A-BC80-451F-BF84-A668D1990BBA / Документы /% F0% 9F% 8E% 81 / 201902180148461430.pdf
% F0% 9F% 8E% 81 - это имя папкиэто «подарок эмодзи», но я использовал кодировку для замены смайликов:
addingPercentEncoding(withAllowedCharacters: NSCharacterSet.urlPathAllowed)!
Если я удаляю% из имени папки - это работает, но после этого я не смогу преобразовать его в оригинальное имя