我对Xcode比较陌生。
想知道具有相同代码的两个文件如何产生两个截然不同的生成结果。第一个是从Apple的“创建基于面部的AR体验”示例代码中下载的,第二个是我的项目的实现。我已经尽力想了一切;重建,清洁,重新安装,重新启动...。即使从Apple示例中复制了准确的代码(如图所示),仍然失败。似乎是一个错误,导致SCNReferenceNode
在我的项目中无法正常工作(右侧)。这两个文件的工作都比较早。我尝试用与SCNReferenceNode(url: )
结合的Bundle.main.url(forResource: withExtension: )
替换代码,并显示相同的错误。它可能是相关的;加载项目时,似乎有些丢失的文档(在Xcode中以红色突出显示),尽管它们本身在物理文件中。我提供了并排比较的屏幕截图;如您所见,相同但仍然是错误。关于可能导致这种情况的任何想法?
答案 0 :(得分:1)
如果您查看Utilites.swift文件,Apple已为SCNReferenceNode
添加了扩展名,其中添加了便捷的初始化功能。
extension SCNReferenceNode {
convenience init(named resourceName: String, loadImmediately: Bool = true) {
let url = Bundle.main.url(forResource: resourceName, withExtension: "scn", subdirectory: "Models.scnassets")!
self.init(url: url)!
if loadImmediately {
self.load()
}
}
}