2010-12-12 76 views
4

我正在创建一个需要访问文档目录的应用程序。我目前正在使用以下内容从主包中返回文件pdfName的URL。是否有类似的方式获取文档目录?CFURL参考文档目录

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

编辑:这是我完整的代码,但它不工作 - 任何想法?

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 2010-12-12 14:25:22

+0

NSSearchPathForDirectoriesInDomains返回一个NSArray看到http://bit.ly/g7pNrF,我在网上找到一个例子http://bit.ly/fSbJLY :)希望它有帮助。 – lm2s 2010-12-12 17:23:13