Ios8 SceneKit和NSKeyedArchiver

Ios8 SceneKit和NSKeyedArchiver,ios8,nscoding,nskeyedarchiver,scenekit,Ios8,Nscoding,Nskeyedarchiver,Scenekit,我正在尝试使用NSKeyedArchiver归档我的SceneKit场景以进行保存。这样我就可以保存场景,以便稍后恢复。我发现恢复的场景似乎忽略/丢失了我添加到各种SCNNodes的SCNTransformConstraints。这将导致节点放置在错误的位置 我想知道这是设计的还是一个bug?还是我做错了什么 任何指点都将不胜感激 SCNTransformConstraints使用API客户端提供的块。无法使用NSKeyedArchiver归档块。 您需要归档另一个能够重建块并重新分配变换约束的

我正在尝试使用NSKeyedArchiver归档我的SceneKit场景以进行保存。这样我就可以保存场景,以便稍后恢复。我发现恢复的场景似乎忽略/丢失了我添加到各种SCNNodes的SCNTransformConstraints。这将导致节点放置在错误的位置

我想知道这是设计的还是一个bug?还是我做错了什么


任何指点都将不胜感激

SCNTransformConstraints使用API客户端提供的块。无法使用NSKeyedArchiver归档块。
您需要归档另一个能够重建块并重新分配变换约束的对象。

如何归档?使用
writeToURL:options:delegate:progressHandler:
?我使用的是NSKeyedArchiver.archivedDataWithRootObject(场景)。我认为writeToURL:options:delegate:progressHandler在iOS中不可用。看起来约束已被解码并与SCNNode正确关联。但我猜代码块不再有效。看来我需要在解码后重新创建约束。谢谢