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 Lion 10.7.3 | XCode 4.2 | Quartz Composer 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 に答える