Ошибка 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-адресу.

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