0

我正在通过以下代码从文件中加载 Quartz 组合:

// quartz is a QCView in the XIB file
QCComposition *qc = [QCComposition compositionWithFile:@"res/wdq.qtz"];
//NSLog(@"input keys %@",[qc inputKeys]);
//NSLog(@"copyright %@",[[qc attributes] valueForKey:QCCompositionAttributeCopyrightKey]);
[quartz loadComposition:qc];

我得到了错误:

*** <QCComposition = 0x100258d80 | identifier = "(null)" | source = (null) | backing = "res/wdq.qtz": Failed loading composition

(文件存在于某个位置,从 IB 加载文件在 IB 内部工作,但在运行应用程序时不工作)

Mac OS X 狮子 10.7.3 | XCode 4.2 | 石英作曲家 4.5

4

1 回答 1

0

工作目录可能不是您认为的那样。尝试使用绝对路径引用它。

例如,假设 qtz 文件在你的包的 Resources 文件夹中:

NSString *path = [[NSBundle mainBundle] pathForResource:@"wdq" ofType:@"qtz" inDirectory:@"res"]]l
QCComposition *qc = [QCComposition compositionWithFile:path];
于 2012-02-29T16:27:42.433 回答