Xcode 6:构建挂起和Interface Builder Cocoa Touch Tool开始分配所有RAM

Hot*_*day 35 xcode interface-builder ios xcode6

我遇到了一个问题,我无法通过在这里或在Google上搜索来找到解决方案.

我正在构建一个由多个开发人员共享的项目.出于某种原因,我是唯一有这个问题的人.我多次检查了代码,甚至重新安装了Xcode.

所以当我构建项目时,构建过程将永远挂起.一个名为"Interface Builder Cocoa Touch Tool"的进程运行并开始累积RAM,直到达到Mac的限制(16 GB).此时,只要我看到我终止进程并且构建失败.

在控制台应用程序上,我看到:

2014-10-02 4:45:16.013 PM Interface Builder Cocoa Touch Tool[875]: BUG in libdispatch client: kevent[EVFILT_VNODE] add: "Bad file descriptor" - 0x9
2014-10-02 4:45:17.956 PM Interface Builder Cocoa Touch Tool[875]: assertion failed: 13F34: libxpc.dylib + 29453 [75E30F22-514B-3A20-B82C-EDA43AF5C35C]: 0x8d
Run Code Online (Sandbox Code Playgroud)

在Xcode上,我看到构建卡在"编译1个故事板文件中的1个"或"编译1个1资产目录"中.

即使我停止构建,"Interface Builder Cocoa Touch Tool"进程仍将继续运行并累积RAM.

我确实看到了与故事板有关的两个警告:

Base.lproj/MainStoryboard.storyboard Frame for "Scroll View" will be different at run time.
Base.lproj/MainStoryboard.storyboard: warning: Unsupported Configuration: Prototype table cells must have reuse identifiers
Run Code Online (Sandbox Code Playgroud)

我看到资产的两个警告:

../Images-2.xcassets: A 57x57 app icon is required for iPhone apps targeting releases of iOS prior to 7.0
../Images-2.xcassets: A 57x57@2x app icon is required for iPhone apps targeting releases of iOS prior to 7.0
Run Code Online (Sandbox Code Playgroud)

但我不认为这些是原因.

这是Xcode和Mac的信息:

2.5 Ghz,Core i7,配备16 GB Ram.Os X 10.9.5.Xcode 6.0.1.

任何帮助都受到欢迎.

谢谢.

knu*_*kko 8

我有完全相同的问题:在xcode中打开故事板导致沙滩球与Interface Builder任务消耗所有内存.我通过编辑storyboard文件的xml和设置让它恢复工作

useAutolayout="NO"
Run Code Online (Sandbox Code Playgroud)

在文档节点中.原因这不是问题的解决方案(这似乎是xcode中的一个错误),因为它解除了所有约束,但至少我可以再次打开并编译故事板.


Fel*_*man 6

显然,有一个损坏的.xib文件.我还原了被编译的文件.我正在研究使它崩溃的原因是什么.

编辑

我在控制台中重现了这个问题:这里有一个严重的错误.

Felipes-MacBook-Pro:FitMob-ios fbaytelm$     /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/ibtool --target-device iphone --errors --warnings --notices --module fitmobAppStore --minimum-deployment-target 7.0 --output-partial-info-plist /Users/fbaytelm/Library/Developer/Xcode/DerivedData/fitmob-fpoxwngwxzwfqrebczuslduvfozr/Build/Intermediates/fitmob.build/Debug-iphonesimulator/fitmobAppStore.build/FMSplashViewController-PartialInfo.plist --auto-activate-custom-fonts --output-format human-readable-text --compile /Users/fbaytelm/Library/Developer/Xcode/DerivedData/fitmob-fpoxwngwxzwfqrebczuslduvfozr/Build/Products/Debug-iphonesimulator/fitmobAppStore.app/FMSplashViewController.nib /Users/fbaytelm/Documents/workspace/FitMob-ios/FitMob/Classes/Views/Common/FMSplashViewController.xib
2014-10-10 01:38:48.386 ibtoold[23113:213948] [MT] DVTAssertions: ASSERTION FAILURE in /SourceCache/IDEInterfaceBuilder/IDEInterfaceBuilder-6249/InterfaceBuilderKit/Utilities/IBAbstractMessageChannelInterfaceBuilderToolProxy.m:40
Details:  Failed to determine the value for availableFonts of UIFont.

Encountered an error communicating with Interface Builder Cocoa Touch Tool. 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: IBRemoteToolFailureException
Exception reason: Interface Builder Cocoa Touch Tool crashed

Last command:
valueForKeyPath:ofClassWithName:resultMarshaller:resultMarshallerContext:

Backtrace of last command:
  0  0x000000010d5dc3e1 (in IDEInterfaceBuilderCocoaTouchIntegration)
  1  0x000000010d5a4cd1 IBAskClassInTargetRuntimeForValueForKeyPathUsingResultMarshallerWithContext (in IDEInterfaceBuilderCocoaTouchIntegration)
  2  0x000000010d5a4b38 IBAskClassInTargetRuntimeForValueForKeyPathUsingResultMarshaller (in IDEInterfaceBuilderCocoaTouchIntegration)
  3  0x000000010d5d7bae (in IDEInterfaceBuilderCocoaTouchIntegration)
  4  0x000000010d5d7a35 (in IDEInterfaceBuilderCocoaTouchIntegration)
  5  0x000000010d5d8873 (in IDEInterfaceBuilderCocoaTouchIntegration)
  6  0x000000010d64cb26 (in IDEInterfaceBuilderCocoaTouchIntegration)
  7  0x000000010d67b46b IBUIValidateFontDescription (in IDEInterfaceBuilderCocoaTouchIntegration)
  8  0x000000010d6e9fe7 (in IDEInterfaceBuilderCocoaTouchIntegration)
  9  0x000000010762177f -[IBDocumentIssueGenerator updateIssuesForMembers:] (in IDEInterfaceBuilderKit)
 10  0x0000000107622790 -[IBDocumentIssueGenerator validateIssues:] (in IDEInterfaceBuilderKit)
 11  0x000000010667f37e -[DVTDelayedInvocation runBlock:] (in DVTFoundation)
 12  0x000000010667f903 -[DVTDelayedInvocation invokeIfNeeded] (in DVTFoundation)
 13  0x000000010762289b -[IBDocumentIssueGenerator warnings] (in IDEInterfaceBuilderKit)
 14  0x00000001065aebbb (in ibtoold)
 15  0x00000001065a130f (in ibtoold)
 16  0x00000001065a4b21 (in ibtoold)
 17  0x00000001065aa3f7 (in ibtoold)
 18  0x00000001065aa947 (in ibtoold)
 19  0x00000001065aa817 (in ibtoold)
 20  0x0000000106599d4f (in ibtoold)
 21  0x00000001065a9fe1 (in ibtoold)
 22  0x00000001065a9238 (in ibtoold)
 23  0x00007fff90ff15c9 start (in libdyld.dylib)

Exception backtrace:
(null)
Exception info:{
    IBUnderlyingError = "Error Domain=IBMessageChannelErrorDomain Code=4 \"Failed to communicate with Interface Builder\" UserInfo=0x7fe7fbf43020 {NSLocalizedDescription=Failed to communicate with Interface Builder, NSLocalizedFailureReason=Interface Builder Cocoa Touch Tool crashed}";
}

Function: void IBAssertMarshallingFailure(NSString *__strong, NSString *__strong, NSString *__strong)
Thread:   <NSThread: 0x7fe7f941adf0>{number = 1, name = main}
Hints: None
Backtrace:
  0  0x00000001067982e4 -[DVTAssertionHandler handleFailureInFunction:fileName:lineNumber:assertionSignature:messageFormat:arguments:] (in DVTFoundation)
  1  0x0000000106797a7b _DVTAssertionHandler (in DVTFoundation)
  2  0x0000000106797cde _DVTAssertionFailureHandler (in DVTFoundation)
  3  0x0000000107676973 IBAssertMarshallingFailure (in IDEInterfaceBuilderKit)
  4  0x000000010d5a4e1c IBAskClassInTargetRuntimeForValueForKeyPathUsingResultMarshallerWithContext (in IDEInterfaceBuilderCocoaTouchIntegration)
  5  0x000000010d5a4b38 IBAskClassInTargetRuntimeForValueForKeyPathUsingResultMarshaller (in IDEInterfaceBuilderCocoaTouchIntegration)
  6  0x000000010d5d7bae (in IDEInterfaceBuilderCocoaTouchIntegration)
  7  0x000000010d5d7a35 (in IDEInterfaceBuilderCocoaTouchIntegration)
  8  0x000000010d5d8873 (in IDEInterfaceBuilderCocoaTouchIntegration)
  9  0x000000010d64cb26 (in IDEInterfaceBuilderCocoaTouchIntegration)
 10  0x000000010d67b46b IBUIValidateFontDescription (in IDEInterfaceBuilderCocoaTouchIntegration)
 11  0x000000010d6e9fe7 (in IDEInterfaceBuilderCocoaTouchIntegration)
 12  0x000000010762177f -[IBDocumentIssueGenerator updateIssuesForMembers:] (in IDEInterfaceBuilderKit)
 13  0x0000000107622790 -[IBDocumentIssueGenerator validateIssues:] (in IDEInterfaceBuilderKit)
 14  0x000000010667f37e -[DVTDelayedInvocation runBlock:] (in DVTFoundation)
 15  0x000000010667f903 -[DVTDelayedInvocation invokeIfNeeded] (in DVTFoundation)
 16  0x000000010762289b -[IBDocumentIssueGenerator warnings] (in IDEInterfaceBuilderKit)
 17  0x00000001065aebbb (in ibtoold)
 18  0x00000001065a130f (in ibtoold)
 19  0x00000001065a4b21 (in ibtoold)
 20  0x00000001065aa3f7 (in ibtoold)
 21  0x00000001065aa947 (in ibtoold)
 22  0x00000001065aa817 (in ibtoold)
 23  0x0000000106599d4f (in ibtoold)
 24  0x00000001065a9fe1 (in ibtoold)
 25  0x00000001065a9238 (in ibtoold)
 26  0x00007fff90ff15c9 start (in libdyld.dylib)
Run Code Online (Sandbox Code Playgroud)

  • 你在这里做一些疯狂的调试.我希望你明白这一点.我找不到解决办法,但我会给你一点努力.从终端建设听起来是一个好主意,试图找出错误. (2认同)

And*_*per 1

我也遇到过故事板问题,导致 OS X 10.9.5 上的 XCode 6.0.1 冻结。
我什至无法启动 Xcode,因为它尝试重新打开情节提要。

这就是我要恢复的方法(直到它再次发生)

重要提示:请确保备份故事板文件,以防意外删除它

  1. 完全关闭Xcode
  2. 从终端(或 Finder):故事板文件移至安全位置
  3. 重新启动 XCode 并打开您的工作区或项目
  4. 在 Xcode 中:从项目中删除缺少的 Storyboard 文件
  5. 从终端(或 Finder):故事板复制回其原始位置
  6. 将故事板导入 Xcode(添加文件或从 Finder 中拖放)

此时,一切“通常”都对我有用:打开故事板,构建,运行......我可以继续使用故事板,直到下次重新打开项目。然后它再次发生,我必须重复相同的步骤。