如何从框架包中加载场景文件.scn

时间:2016-12-27 15:34:55

标签: ios objective-c scenekit

我有一个场景文件,Tube.scn保存在一个框架中:“构建短语/复制捆绑资源”

[截图] [1]

我正在尝试使用以下内容在框架中加载文件:

NSString *filename = @"Tube";

NSString *path = [[NSBundle bundleForClass: [self class]] pathForResource: filename
                                                                   ofType: @"scn"];

NSError *error;
self.scene = [SCNScene sceneWithURL: [NSURL URLWithString: path]
                            options: nil
                              error: &error];

但是,self.scene和error都是nil。

但是,如果我将文件移动到主项目并使用以下内容,它将正常工作。

self.scene = [SCNScene sceneNamed: @"Tube.scn"];

有没有人在框架内成功加载了场景文件?

1 个答案:

答案 0 :(得分:0)

NSString *path = [[NSBundle bundleForClass: [self class]] pathForResource: filename
                                                                   ofType: @"scn"];

上面是[self class],这个类是框架的一部分吗?如果没有,那么你应该尝试:

NSString *path = [[NSBundle bundleForClass: [<<X>> class]] pathForResource: filename
                                                                   ofType: @"scn"];

其中:<<X>>是类,它是框架的一部分。