Scenekit写入没有错误

时间:2017-08-21 14:22:18

标签: ios swift scenekit

我试图存储我的场景包场景(理想情况下是Firebase,但我不认为这可能吗?)。从文档中似乎很少的内容中使用以下内容 - 我只是将 1.0作为进度返回(完成),并将 nil作为错误

@IBOutlet weak var sceneView: ARSCNView!
let scene = SCNScene()
sceneView.scene = scene

sceneView.scene.write(to: URL(string: "http://foo.com")!, options: nil, delegate: nil) { (totalProgress, error, stop) in
        print("Progress \(totalProgress) Error: \(String(describing: error))")
    }

这个网址显然是一个虚拟网址,我至少期待它出错?当我使用适当的Firebase存储URL时,没有任何内容存储,我得到相同的反馈。有没有人有一个有效的swift 3(pref)示例?

由于

1 个答案:

答案 0 :(得分:0)

看起来SceneKit无法正确显示错误,但返回值应该是正确的:

  let success = sceneView.scene.write(to: URL(string: "http://foo.com")!, options: nil, delegate: nil) { (totalProgress, error, stop) in
        print("Progress \(totalProgress) Error: \(String(describing: error))")
    }
    print("Success: \(success)")
  

进度1.0错误:无

     

成功:错误

要了解失败的原因,您可以先创建SceneKit文档,然后尝试保存它:

    let data = NSKeyedArchiver.archivedData(withRootObject: sceneView.scene)
    do {
        try data.write(to: URL(string: "http://foo.com")!)
    } catch let error {
        print("Error: \(String(describing: error))")
    }
  

错误:错误域= NSCocoaErrorDomain代码= 518"无法保存文件,因为不支持URL类型http。"的UserInfo = {NSURL = http://foo.com}