xCode 8.x与“GameScene.sks”文件崩溃

时间:2016-12-01 13:50:36

标签: xcode macos sprite-kit crash vmware-workstation

我已下载macOS Sierra 10.12并将其放入VMWare计算机。每当我尝试打开SpriteKit文件(将原点(0,0)放在底部,就像在xCode 8之前一样)时,一切运行良好,但在xCode上,使用GameScene.sks ,程序立即崩溃。

使用VMWare Pro 12;尝试使用xCode 8.1和8.2 Beta,同样崩溃。

我知道很多情况都是我的,但它只是讨厌这没有解决方案。 我在非常糟糕的谷歌搜索中找到this,但该解决方案对我来说不是一个解决方案,因为VMware不允许你使用gpu来使用VM(我有英特尔4600 + gtx 960)。

我可以正常打开动作sks文件。似乎只有GameScene.sks给我一个崩溃,所以:

Theres是一种解决方法吗? 如果没有,我可以编辑GameScene.sks文件或只是在没有xCode的情况下将原点放在底部吗? 如果不是,我可以在没有开发者许可的情况下下载以前的xCode版本吗?

嗯,我能做的最后一件事就是在我的电脑上进行双启动,但我觉得它看起来并不那么容易

3 个答案:

答案 0 :(得分:11)

Xcode 8

最后我找到了解决这个问题的方法! 您必须重新对Xcode 8及其组件进行代码签名才能使其正常工作。

  

其中一些应用程序已被标记,因此拒绝加载未经Apple签名的库。 Nvidia Web驱动程序未经Apple签名,因此未加载,导致您描述的行为。 (见this thread

我只使用nVidia GPU,它引起了这个问题 - 至少对我而言。 退出XCode并在终端中逐个运行这些命令:

sudo codesign -f -s - /Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/MacOS/Instruments
sudo codesign -f -s - /Applications/Xcode.app/Contents/Applications/FileMerge.app/Contents/MacOS/FileMerge
sudo codesign -f -s - /Applications/Xcode.app/Contents/Applications/Application\ Loader.app/Contents/MacOS/Application\ Loader 
sudo codesign -f -s - /Applications/Xcode.app/Contents/Applications/Accessibility\ Inspector.app/Contents/MacOS/Accessibility\ Inspector 
sudo codesign -f -s - /Applications/Xcode.app/Contents/MacOS/Xcode 

最后一个命令花了很长时间才完成,所以我通过退出终端终止了这个过程。即便如此,它也是如此,下次我推出XCode时会出现一些弹出窗口:Xcode想要使用存储在Keychain中的信息。我选择"始终允许"对于每个对话框。 (下次打开XCode时,这些对话框不会出现)

毕竟我从项目导航器中选择了GameScene.sks文件,而XCode并没有崩溃。

从那以后,它完美地运作了! :)

如果将XCode 8升级到更新的Xcode 8版本,则必须重做上述步骤!据报道,此方法在XCode 9测试版中无效,如果发布更改,将更新此帖子。

Xcode 9

如果您有hackintosh,修复这些nVidia错误的最简单方法是安装NVWebDriverLibValFix.kext。如果您使用Clover作为引导加载程序,请将下载的kext文件放在EFI / EFI / Clover / kexts / Other中。使用KextBeast安装kext也应该可行,但我更喜欢使用Clover进行kext注入。

答案 1 :(得分:0)

我对你的崩溃无能为力,但你可以像这样更改代码中的锚点......

<强> GameScene.swift

override func viewDidLoad(){
    self.anchorPoint = CGPoint(0,0)
}

答案 2 :(得分:0)

对我有用的(我将macOS升级到Mojave,并且其中包含Xcode后遇到了问题)是禁用了所有Xcode插件!

:-)