打开故事板时如何防止 XCode5 挂起/沙滩球? [英] How to prevent XCode5 from hanging/beachballing when opening a storyboard?
问题描述
我正在开发一款我在 Xcode 4.6 中创建的带有故事板的游戏.几周前,我在 Xcode5 中打开它,它运行良好.我被要求升级故事板,它运行良好.它不是一个复杂的故事板,只有 4 个场景和所有标准的东西.今天我进去尝试再次打开它,xcode 挂起和沙滩球.我必须强制退出它,但我确实得到了一个非常大的报告,我已将其保存在文本文件中,但在此处发布太长了.
Im working on a game I did create in Xcode 4.6 with storyboards. A few weeks ago I opened it in Xcode5 and it worked fine. I was asked to upgrade storyboard and it worked fine. Its not a complex storyboard, only 4 scenes and all standard stuff. Today I went in to try and open it again and xcode hangs and beach balls. I have to force quit it and I do get a very large report which I have saved in a text file but would be too long to post here.
我如何更具体地找出导致问题的原因,以便询问或搜索答案?
How do I even find out what is causing the problem more specifically in order to ask or google around for an answer?
我尝试过的事情:我已禁用源代码管理我无法选择故事板以查看 IB 文档在版本中打开,因为它挂起.
Things Ive tried: I have disabled source control I cant select the storyboard in order to see the IB Document opens in version, because it hangs.
我认为这是崩溃报告的相关部分:
I think this is the relevant part of the crash report:
异常类型:EXC_CRASH (SIGABRT) 异常代码:0x0000000000000000, 0x0000000000000000
Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000
应用程序特定信息:ProductBuildVersion:5A1413断言失败/SourceCache/IDEInterfaceBuilderCocoaTouch/IDEInterfaceBuilderCocoaTouch-3742/IBPlugin/Utilities/IBObjectMarshalling.m:670详细信息:无法为 IBLayoutConstraint 运行一次请求,IBUIButton、IBUILabel、IBUITextField、IBUIView 和IBUI 视图控制器.界面生成器遇到错误与 iOS 模拟器通信.如果您选择提交崩溃文件此问题的报告或雷达,请检查 Console.app 是否崩溃Interface Builder Cocoa Touch Tool"的报告并包括他们的崩溃报告中的内容.异常名称:操作不能完成.(IBMessageChannelErrorDomain 错误 1.)异常原因:(空)异常回溯:(空)异常信息:{IBUnderlyingError = "Error Domain=IBMessageChannelErrorDomain Code=1 \"操作无法完成.(IBMessageChannelErrorDomain 错误 1.)\"";} 功能:voidIBAssertMarshallingFailure(NSString *_strong, NSString *_strong)主题:{name = (null), num = 1} 提示:
无
Application Specific Information: ProductBuildVersion: 5A1413
ASSERTION FAILURE in
/SourceCache/IDEInterfaceBuilderCocoaTouch/IDEInterfaceBuilderCocoaTouch-3742/IBPlugin/Utilities/IBObjectMarshalling.m:670
Details: Failed to run one shot request for IBLayoutConstraint,
IBUIButton, IBUILabel, IBUITextField, IBUIView, and
IBUIViewController. Interface Builder encountered an error
communicating with the iOS Simulator. If you choose to file a crash
report or radar for this issue, please check Console.app for crash
reports for "Interface Builder Cocoa Touch Tool" and include their
content in your crash report. Exception name: The operation couldn’t
be completed. (IBMessageChannelErrorDomain error 1.) Exception reason:
(null) Exception backtrace: (null) Exception info:{
IBUnderlyingError = "Error Domain=IBMessageChannelErrorDomain Code=1 \"The operation couldn\U2019t be completed.
(IBMessageChannelErrorDomain error 1.)\""; } Function: void
IBAssertMarshallingFailure(NSString *_strong, NSString *_strong)
Thread: {name = (null), num = 1} Hints:
None
推荐答案
嗯,这就是我所做的.
我从 Finder 中打开 Storyboard 文件,在 TextEdit 中,看到 Autolayout 属性并决定将其设置为
NO
.我这样做是因为我记得浏览了崩溃报告,看到了一些关于约束的信息.
I opened up the Storyboard file from Finder, in TextEdit, saw the Autolayout property and decided to set it to
NO
. I did this because I remember skimming through the Crash report, seeing something about constraints.
然后我从 Finder 打开了 Storyboard,但这次是在 Xcode5 中.它打开了故事板场景,但所有场景几乎都是空白的.这意味着我看不到任何最初存在的控件.我认为这是由于删除了自动布局.所以我在 TextEdit 的 xml 中重新添加了键 useAutolayout="YES"
.然后我在 Xcode5 中再次打开 Storyboard 文件,它仍然是空白的.
Then I opened the Storyboard from Finder, but this time in Xcode5. It opened up the storyboard scenes but all scenes were pretty much blank. Meaning I couldn't see any controls that were originally there. I thought this was due to removing autolayout. So I re-added the key useAutolayout="YES"
into the xml in TextEdit. Then I opened up the Storyboard file again, in Xcode5 and it was still blank.
然后我决定也许我需要在 XCode5 中打开整个项目以查看控件是否仍然存在.我做了,但我仍然没有看到控件,但是在场景导航器中,我可以展开节点,这些控件似乎在那里.
Then I decided that perhaps I needed to open the entire project in XCode5 to see if the controls were still there. I did but I still didn't SEE the controls, but in the Scene navigator I could expand the nodes and those controls appeared to be in there.
最后我单独解决了每个 AL 问题,现在故事板项目重新出现.
Finally I resolved each AL issue individually and now the storyboard items have reappeared.
这篇关于打开故事板时如何防止 XCode5 挂起/沙滩球?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!