URLWithString удаляет часть пути NSString

У меня проблемы с анализом CSV-файла с помощью CHCSVParser. Мой CSV-файл не "удовлетворяет потоку". Я считаю, что проблема в том, что URL-адрес файла плохой. Я получаю URL, как это:

NSString *path = [[NSBundle mainBundle] pathForResource:@"file" ofType:@"csv"]];
NSURL *url = [NSURL URLWithString:path];

Когда я вхожу path Я получаю эту строку:

/Users/wilhelmmichaelsen/Library/Developer/CoreSimulator/Devices/11F0BE77-9179-4A7B-B03E-1143957A8D02/data/Containers/Bundle/Application/7FE0AD10-DE7A-4C6D-9EED-4A95F9C197AE/Climate.app/file.csv

Когда я вхожу url Я получаю эту строку:

/Users/wilhelmmichaelsen/Library/Developer/CoreSimulator/Devices/11F0BE77-9179-4A7B-B03E-1143957A8D02/data/Containers/Bu ... le.csv

Кажется, что строка пути сокращается (...). Это что-то странное и как я могу это исправить?

2 ответа

Решение

Вы должны использовать fileURLWithPath создать URL из пути.

Вы использовали URLWithString метод и этот метод ожидает URLString содержать только символы, которые разрешены в правильно сформированном URL. Все остальные символы должны быть надлежащим образом экранированы. Любые символы с экранированием в процентах интерпретируются с использованием кодировки UTF-8.

Создавать NSURL объекты для путей файловой системы, используйте fileURLWithPath:isDirectory: вместо.

Вот ссылка на документацию библиотеки разработчиков Apple для класса NSURL

Другие вопросы по тегам