Ошибка CFURLCreateDataAndPropertiesFromResource с кодом ошибки -15
Я пытаюсь привести изображение TIFF в CGImageSource с помощью CGImageSourceCreateWithURL. Мой URL-адрес правильный, закодирован%20, это путь к существующему файлу, этот файл в формате TIFF. Тем не менее, строка:
NSString *fullPath = [[[fileNames objectAtIndex:pageNum - 1] string]
stringByAddingPercentEscapesUsingEncoding:
NSUTF8StringEncoding];
NSString* urlStr = [NSString stringWithFormat: @"file:/%@", fullPath];
NSURL * url = [NSURL URLWithString: fullPath];
CGImageSourceRef src = CGImageSourceCreateWithURL (url, NULL);
дает мне следующую ошибку:
Wed Aug 4 20:17:20 Brians-mini.local DocKeep[17199] <Error>: CGImageSourceCreateWithURL: CFURLCreateDataAndPropertiesFromResource failed with error code -15.
кто-нибудь знает что такое ошибка -15? или где я могу найти это?
Спасибо
ETA: Я должен также упомянуть, что у меня нет этой проблемы, если в пути нет пробелов... (Пробелы в именах файлов - мерзость для лорда, но я предполагаю, что мы должны жить с ними... B-)
3 ответа
Не использовать +URLWithString:
за это. Вместо этого используйте специально построенный +fileURLWithPath:
Попробуй это:
NSString *fullPath = [[fileNames objectAtIndex:pageNum - 1] string];
CFStringRef fullPathEscaped = CFURLCreateStringByAddingPercentEscapes(NULL,
(CFStringRef)pdfPath, NULL, NULL,kCFStringEncodingUTF8);
CFURLRef url = CFURLCreateWithString(NULL, fullPathEscaped, NULL);
CGImageSourceRef src = CGImageSourceCreateWithURL (url, NULL);
Код ошибки -15 - это kCFURLImproperArgumentsError.
Дополнительную информацию см. В документации Apple для справочного руководства по базовому URL-адресу.