当我编辑故事板时,Xcode Interface Builder会崩溃

我是 Xcode的新手,并且在使用Interface Builder时遇到IDE崩溃的问题.这是Xcode 4.5.

它工作得足够长,我可以添加十几个按钮到故事板 – 但是当我尝试调整其中任何一个,它崩溃并退出.如果我移动按钮,它会崩溃.如果我添加一个新的对象,如标签,它有时会崩溃,但不总是.

如果我不尝试编辑故事板,则该项目在模拟器上构建并运行,没有任何问题.

我已经粘贴了下面的崩溃报告的相关部分.为了节省空间,我从“视图层次结构”部分向下删除了所有内容,但如果它有用,我可以添加它.所有崩溃报告都引用相同的错误.

有趣的是,当我看到控制台日志时,每次崩溃之前,还有另一个Interface Builder的报告:

25/09/2012 10:46:35.661 Interface Builder Cocoa Touch Tool: CFPreferences:
user home directory at file://localhost/Users/me/Library/Application Support/
iPhone Simulator/User/ is unavailable. User domains will be volatile.

这是正确的 – 该目录不存在.我有iPhone模拟器/ 6.0,但没有别的.我以该路径的用户身份登录.

基于Stack Overflow和其他地方的其他建议,我已经尝试清理该版本,然后删除整个iPhone Simulator目录,并让模拟器重新创建它,但这并没有什么不同.

作为一个实验,我刚刚创建了一个新项目,并将一些按钮和标签拖到故事板中.好像没事没有崩溃

这是否表明我的另一个项目有什么损坏?

任何建议将是非常欢迎的.这不是一个重要的项目 – 在这个阶段我正在学习我的方式 – 但是如果有什么事情引起问题,那么在Xcode开始任何认真的工作之前,我想对它进行整理.

提前致谢.

詹姆士

Process:         Xcode [650]
Path:            /Applications/Xcode.app/Contents/MacOS/Xcode
Identifier:      com.apple.dt.Xcode
Version:         4.5 (1839)
Build Info:      IDEApplication-1839000000000000~3
App Item ID:     497799835
App External ID: 10747437
Code Type:       X86-64 (Native)
Parent Process:  launchd [129]

Date/Time:       2012-09-25 10:46:43.202 +0100
OS Version:      Mac OS X 10.7.5 (11G56)
Report Version:  9

Crashed Thread:  0  dispatch queue: com.apple.main-thread

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000,0x0000000000000000

Application Specific information:
ProductBuildVersion: 4G182
ASSERTION FAILURE in /SourceCache/IDEInterfaceBuilderCocoaTouch/IDEInterfaceBuilderCocoaTouch-1926/IBPlugin/Utilities/IBObjectMarshalling.m:651
Details:  Failed to arbitrate IBNSLayoutConstraint,IBUIButton,IBUILabel,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: IBAssertionFailure
Exception reason: ASSERTION FAILURE: 
Reason:     All views needing candidate constraints have already had constraints generated. This most likely indicates a bug involving layout of the following views:
Layout engine frame ({{20,60},{282,57}}) of <UILabel: 0xb36f590; frame = (20 60; 281 57); text = '0'; clipsToBounds = YES; opaque = NO; autoresize = TM+BM; userInteractionEnabled = NO; layer = <CALayer: 0xb36f620>> does not match canvas frame ({{20,{281,57}})
Layout engine frame ({{236,328},{66,43}}) of <UIRoundedRectButton: 0xb384590; frame = (236 328; 65 44); opaque = NO; autoresize = TM+BM; layer = <CALayer: 0xb384660>> does not match canvas frame ({{236,{65,43}})
Layout engine frame ({{236,124},43}}) of <UIRoundedRectButton: 0xb38ea10; frame = (236 124; 65 44); opaque = NO; autoresize = TM+BM; layer = <CALayer: 0xb38eae0>> does not match canvas frame ({{236,175},43}}) of <UIRoundedRectButton: 0xb390a30; frame = (236 175; 65 44); opaque = NO; autoresize = TM+BM; layer = <CALayer: 0xb36e8e0>> does not match canvas frame ({{236,226},43}}) of <UIRoundedRectButton: 0xb392a90; frame = (236 226; 65 44); opaque = NO; autoresize = TM+BM; layer = <CALayer: 0xb392b60>> does not match canvas frame ({{236,277},43}}) of <UIRoundedRectButton: 0xb394b70; frame = (236 277; 65 44); opaque = NO; autoresize = TM+BM; layer = <CALayer: 0xb394c40>> does not match canvas frame ({{236,43}})

解决方法

更新:进一步的实验显示故事板的“使用自动布局”复选框.关闭这个关闭然后保存文件似乎已经解决了问题.我可以随意编辑,没有更多的崩溃.

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...