在Swift for iOS 7.1中解压.sks文件

我有一个应用程序,它使用以下扩展名从iOS 8中的.sks文件很好地加载:

class func unarchiveFromFile(file : NSString) -> SKNode? { if let path = NSBundle.mainBundle().pathForResource(file as String, ofType: "sks") { var sceneData = NSData(contentsOfFile: path, options: .DataReadingMappedIfSafe, error: nil)! var archiver = NSKeyedUnarchiver(forReadingWithData: sceneData) archiver.setClass(self.classForKeyedUnarchiver(), forClassName: "SKScene") let scene = archiver.decodeObjectForKey(NSKeyedArchiveRootObjectKey) as! GameScene archiver.finishDecoding() return scene } else { return nil } } 

但是,当我在运行iOS 7.1的设备上使用它时,我在AppDelegate上获得了一个EXC_BAD_ACCESS代码EXC_I386_GPFLT,并在日志中获得了这个代码:

SKTexture:加载图片资源时出错:“MissingResource.png”

我相信这个问题可能是sks文件被不正确的加载。 任何人都可以告诉我如何从sks文件加载我的场景?

感谢您的帮助,

有趣的是,我设法通过检查iOS8之前是否正在运行来解决这个问题。 如果是这样,我会加载游戏场景,然后复制它。 不知何故解决了这个问题:

  let tempScene = GameScene.unarchiveFromFile(gameSceneFile) as? GameScene scene = tempScene!.copy() as! GameScene