【发布时间】:2016-08-15 07:54:46
【问题描述】:
Apple 提供了创建 PDF 文档的示例代码。但它使用 CFURLRef
NSPanel savepanel 给出 NSURL。
我无法将 NSURL 转换为 CFURLRef
path = CFStringCreateWithCString (NULL, filename, kCFStringEncodingUTF8);
url = CFURLCreateWithFileSystemPath (NULL, path, kCFURLPOSIXPathStyle, 0);
NSLog(@"CFURLRef %@",url);
输出是
2016-04-22 00:34:26.648 XXX 分析[12242:813106] CFURLRef AnalysisReport.pdf -- file:///Users/xxxxxx/Library/Containers/com.xxxxxx.xxxnalysis/Data/
转换我找到的代码
url = (__bridge CFURLRef)theFile;
NSLog(@"NSURL %@",url);
输出是
2016-04-22 00:37:20.494 XXX 分析[12325:816505] NSURL file:///Users/xxxxxx/Documents/xxxnalysis.pdf
最后 PDF 文件被保存,但是当 NSPanel 关闭时程序崩溃。
【问题讨论】:
-
崩溃情况如何?沙盒日志中是否有任何错误?
-
我找到了答案。如果您不使用 CFStringCreateWithCString 创建 CFStringRef 。你不需要调用 CFRelease(url);
标签: operating-system pdf-generation nsurl nssavepanel nspanel