2010-08-05 2 views
0

Я пытаюсь привести изображение TIFF в CGImageSource, используя CGImageSourceCreateWithURL. Мой URL-адрес правильный,% 20 закодирован, это путь к существующему файлу, этот файл является TIFF. Тем не менее, линия:CFURLCreateDataAndPropertiesFromResource не удалось с кодом ошибки -15

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-)

ответ

2

Попробуйте это:

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); 
+0

Это сработало для меня, fileURLWithPath: как-то казалось также инкапсулировать путь ресурсов приложений. –

3

Не используйте для этого +URLWithString:. Вместо этого используйте специально созданный +fileURLWithPath: