在沙盒mac应用程序中,我使用的是代码为ffmpeg的静态构建。 ffmpeg需要fonts.conf文件。所以我这样做
[[NSFileManager defaultManager] createDirectoryAtPath:[NSHomeDirectory() stringByAppendingString:@"/fonts/"] withIntermediateDirectories:YES attributes:nil error:nil];
[[NSFileManager defaultManager] copyItemAtPath:[[NSBundle mainBundle] pathForResource:@"fonts" ofType:@"conf"] toPath:[NSHomeDirectory() stringByAppendingString:@"/fonts/fonts.conf"] error:NULL];
NSString *fontconfigFile= [NSHomeDirectory() stringByAppendingString:@"/fonts/fonts.conf"];
NSString *fontconfigPath= [NSHomeDirectory() stringByAppendingString:@"/fonts/"];
setenv("FONTCONFIG_FILE", [fontconfigFile UTF8String], 0);
setenv("FONTCONFIG_PATH", [fontconfigPath UTF8String], 0);
但是当我这样做时,ffmpeg无法运行。我究竟做错了什么? 我希望mac应用程序在10.9和10.10中运行。
问题是如何指示xcode在运行时从我的mac应用程序中获取fonts.conf的位置?
答案 0 :(得分:0)
不使用NSString和stringByAppendingPathComponent的动机是什么?甚至是NSURL?您是否已使用调试器来查看错误是因为文件未被复制还是setenv存在问题?