2010-12-12 3 views
4

Я создаю приложение, которому нужен доступ к каталогу документов. В настоящее время я использую следующее, чтобы вернуть URL-адрес файла pdfName из основного пакета. Есть ли аналогичный способ получения каталога документов?CFURLRef каталога документов

CFURLRef pdfURL = CFBundleCopyResourceURL(CFBundleGetMainBundle(), (CFStringRef)pdfName, NULL, NULL); 

Edit: это мой полный код, но он не работает - любые идеи?

NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; 
    NSString *myFilePath = [documentsDirectory stringByAppendingPathComponent:pdfName]; 

    CFURLRef pdfURL = (CFURLRef)[NSURL fileURLWithPath:myFilePath]; 
    pdf = CGPDFDocumentCreateWithURL((CFURLRef)pdfURL); 
    CFRelease(pdfURL); 

ответ

10

У меня была такая же проблема. Приложение разбилось при создании CFURLRef. Это, как я ее решил (учитывая у вас уже есть NSString с указанием полного пути к файлу в директории документов):

CFURLRef pdfURL = (__bridge CFURLRef)[[NSURL alloc] initFileURLWithPath:myFilePath]; 
pdf = CGPDFDocumentCreateWithURL(pdfURL); 
CFRelease(pdfURL); 

Похоже, единственная разница в моем коде, что я Alloc и инициализировать NSURL.

0

Это может помочь вам: ADC Link

+0

Я изучил это и сделал некоторый прогресс (см. Обновление выше). Любые идеи о том, что не так с моим текущим кодом? – Jack

+0

NSSearchPathForDirectoriesInDomains возвращает NSArray, см. Http://bit.ly/g7pNrF, и я нашел пример в Интернете http://bit.ly/fSbJLY :) надеюсь, что это поможет. – lm2s

Смежные вопросы