文件目录的CFURLRef

时间:2010-12-12 13:59:05

标签: iphone

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

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

2 个答案:

答案 0 :(得分:10)

我遇到了同样的问题。应用程序在创建CFURLRef时崩溃了。这就是我解决它的方法(假设你已经有一个带有文件目录中文件完整路径的NSString):

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

看起来我的代码中唯一的区别就是我分配并初始化NSURL。

答案 1 :(得分:0)

这可能会对您有所帮助:ADC Link