xCode 8.x因"GameScene.sks"崩溃而崩溃.文件 [英] xCode 8.x crashes with "GameScene.sks" file
问题描述
我已经下载了macOS Sierra 10.12,并将其放入VMWare机器中.一切运行良好,但是在xCode上使用SpriteKit
,每当我尝试打开GameScene.sks
文件(将原点(0,0)放在底部,就像在xCode 8之前一样)时,程序崩溃立即.
I've downloaded macOS Sierra 10.12 and put it into an VMWare machine. Everything running well, but at xCode, using SpriteKit
, whenever I try to open the GameScene.sks
file (to put the origin point (0, 0) at the bottom, just like it was before xCode 8), the program crashes immediately.
使用VMWare Pro 12;在xCode 8.1和8.2 Beta中都尝试过,出现了相同的崩溃.
Using VMWare Pro 12; Tried both with xCode 8.1 and 8.2 Beta, same crash.
我知道我的情况很多,但令人烦恼的是这没有解决方案. 我在非常深入的Google搜索中找到了此,但是该解决方案对于我来说,这不是一个解决方案,因为VMware不允许您使用GPU来运行VM(我拥有intel hd 4600 + gtx 960).
I know theres many cases as mine, but its just annoying that this have no solution. I found this in my VERY DEEP google search, but that solution is not a solution for me, because VMware doesn't let you put an gpu to work with the VM(I have intel hd 4600 + gtx 960).
我可以正常打开action sks文件.似乎只有GameScene.sks
会让我崩溃,所以:
I can open action sks files normally. Seems like only GameScene.sks
gives me a crash, so:
有一种解决方法? 如果没有,我是否可以编辑GameScene.sks文件,或者仅在没有xCode的情况下将原点放在底部? 如果没有,我可以在没有开发人员许可的情况下下载以前的xCode版本吗?
Theres a way to fix it? If not, can I edit the GameScene.sks file or just put origin point at the bottom without xCode? If not either, can I download an previous xCode version without developer license?
好吧,我最后要做的就是在PC上进行双重引导,但是我认为这并不像看起来那么容易
Well, the last thing I could do is to make an dual boot here in my PC, but I think its not so easy as it seems
推荐答案
Xcode 8 :
最后,我找到了此问题的解决方案! 您必须重新编码Xcode 8及其组件才能使其正常工作.
Finally I found a solution for this issue! You have to re-code-sign Xcode 8 and it's components to make it work.
其中一些应用程序已被标记,因此它们拒绝加载未由Apple签名的库. Nvidia Web驱动程序未由Apple签名,因此未加载,从而导致您描述的行为. (请参见此线程)
我仅使用nVidia GPU,这引起了问题-至少对我而言. 退出XCode并在终端中一一运行这些命令:
I'm using an nVidia GPU only, and it caused the issue - at least for me. Quit XCode and run these commands in Terminal one by one:
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
最后一个命令花了我很长时间才能完成,所以我通过退出Terminal终止了该过程.即便如此,它还是成功了.下次我启动XCode时,会出现一些弹出窗口,例如:Xcode希望使用您存储在钥匙串中的信息.我为每个对话框选择始终允许". (下次打开XCode时,这些对话框将不会出现)
The last command took ages to finish for me so I terminated the process by quiting Terminal. Even so it did the trick and next time I launched XCode some popup appeared like: Xcode wants to use your information stored in your Keychain. I choose "Always Allow" for each dialog. (next time you open XCode these dialogs won't appear)
毕竟,我从项目导航器中选择了GameScene.sks文件,并且XCode没有崩溃.
After all I selected GameScene.sks file from the project navigator and XCode didn't crash.
从那时起,它运行良好! :)
Since then, it's working perfectly! :)
如果将XCode 8升级到较新的Xcode 8版本,则必须重做上述步骤!据报道,此方法在XCode 9 beta中不起作用,如果发生更改,它将对此文章进行更新.
You have to redo the steps above if you upgrade XCode 8 to a newer Xcode 8 release! This method reportedly doesn't work in XCode 9 beta, will update this post if it changes..
Xcode 9 :
如果您有hackintosh,修复这些nVidia错误的最干净的方法是安装 NVWebDriverLibValFix.kext .如果您将Clover用作引导加载程序,请将下载的kext文件放在EFI/EFI/Clover/kexts/Other中.使用KextBeast安装kext也应该可以,但是我更喜欢使用Clover进行kext注入.
If you have a hackintosh, the cleanest way to fix these nVidia bugs is to install NVWebDriverLibValFix.kext. If you're using Clover as the bootloader, place the downloaded kext file in EFI/EFI/Clover/kexts/Other. Installing the kext with KextBeast should also work, but I prefer using Clover for kext injection.
这篇关于xCode 8.x因"GameScene.sks"崩溃而崩溃.文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!