NSURL.absoluteString возвращает неверно сформированный путь к файлу - PullRequest
0 голосов
/ 27 сентября 2019

В рамках тестирования моего приложения MacOS на основе документов Swift я записываю URL-адрес с помощью:

 NSLog(url.absoluteString)

Если этот URL-адрес содержит пробелы, я получаю сумасшедшие результаты, например:

file:///Users/Ben/Desktop/Test            0.000000older/Lotti2issa(null)apientiae220Basso                   ontinuo2ooklet.pdf

Фактический путь к файлу:

/Users/Ben/Desktop/Test folder/Lotti Missa Sapientiae - Basso continuo booklet.pdf

Это просто проблема форматирования с absoluteString или проблема с моим URL?

Я не генерирую URL-адрес сам: значение поступает из AppKit, так как это параметр в функции NSDocument, который я переопределяю.

1 Ответ

1 голос
/ 27 сентября 2019

Чтобы получить путь к URL файловой системы, используйте всегда API path.

NSLog(url.path)

absoluteString возвращает строку URL-адреса с экранированием в процентах, включая scheme (file://, https// и т. Д.) И host, который не имеет отношения к файловой системе.

...