我已下载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版本吗?
嗯,我能做的最后一件事就是在我的电脑上进行双启动,但我觉得它看起来并不那么容易
答案 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插件!
:-)