【问题标题】:Xcode crashing on startup possibly due to too many open projectsXcode 在启动时崩溃可能是由于打开的项目太多
【发布时间】:2014-01-18 11:39:06
【问题描述】:

我刚买了一台新的 Mac 并下载了 Xcode,所以一切都很新鲜。第一次打开 Xcode 时,我不小心告诉它打开我的 src/ 文件夹而不是 /src/myLatestProject 所以我的预感是 Xcode 去尝试打开我的 src/ 目录中的每个项目(数百个)。它跳了几秒钟,然后坠毁。现在的问题是,Xcode 似乎已经记得我希望在应用程序启动时打开大量项目,或者它试图解析数百个 git 存储库,而我被困在 open/beachball/crash 炼狱中。如何重置 Xcode 的首选项,使其不会尝试提供帮助并打开我计算机上的所有源代码?

编辑:我已经确认这只是我的帐户崩溃。如果我创建一个测试用户并打开 Xcode,一切都很好。

 Application Specific Information:
ProductBuildVersion: 5A3005
ASSERTION FAILURE in /SourceCache/IDEXcode3ProjectSupport/IDEXcode3ProjectSupport-3575/Xcode3Sources/XcodeIDE/Frameworks/DevToolsBase/pbxcore/Xcode3Model/Xcode3OCUnitTestableDataSource.m:191
Details:  ([_indexableIdsToTestableTokens objectForKey:indexableIdentifier]) should be nil, but it is <Xcode3OCUnitTestableDataSourceToken: 0x7fe73b531ae0>
Object:   <Xcode3OCUnitTestableDataSource: 0x7fe7359c79f0>
Method:   -setTestableToken:indexableIdentifier:
Thread:   <NSThread: 0x7fe732415570>{name = (null), num = 1}
Hints:   None
Backtrace:
  0  0x0000000109575ea8 -[IDEAssertionHandler handleFailureInMethod:object:fileName:lineNumber:messageFormat:arguments:] (in IDEKit)
  1  0x00000001082fc7a5 _DVTAssertionHandler (in DVTFoundation)
  2  0x00000001082fcad4 _DVTAssertionFailureHandler (in DVTFoundation)
  3  0x000000010e8ef3ca -[Xcode3OCUnitTestableDataSource setTestableToken:indexableIdentifier:] (in DevToolsCore)
  4  0x000000010e8f2261 -[Xcode3OCUnitTestableDataSourceToken _initWithDataSource:indexableIdentifier:callbackBlock:] (in DevToolsCore)
  5  0x000000010e8ef87d +[Xcode3OCUnitTestableDataSource testableDataSourceTokenForWorkspace:indexableIdentifier:callbackBlock:] (in DevToolsCore)
  6  0x000000010ea0a464 -[Xcode3OCUnitTestable initWithTarget:] (in DevToolsCore)
  7  0x000000010e9d7b69 -[Xcode3Project _updateTestablesForTargetProxies:] (in DevToolsCore)
  8  0x000000010e9d074d -[Xcode3Project syncTargetProxiesWithProjectTargets] (in DevToolsCore)
  9  0x000000010830e618 -[NSObject(DVTObservingConvenience) _dvt_newObserverForKeyPath:options:owner:withHandlerBlock:] (in DVTFoundation)
 10  0x000000010828e5d3 -[NSObject(DVTObservingConvenience) dvt_newObserverForKeyPath:options:withHandlerBlock:] (in DVTFoundation)
 11  0x000000010e9d1815 -[Xcode3Project initWithFilePath:extension:workspace:error:] (in DevToolsCore)
 12  0x0000000108d899ef __73+[IDEContainer retainedContainerAtFilePath:fileDataType:workspace:error:]_block_invoke_2 (in IDEFoundation)
 13  0x00007fff91d9d2ad _dispatch_client_callout (in libdispatch.dylib)
 14  0x00007fff91d9e166 _dispatch_barrier_sync_f_invoke (in libdispatch.dylib)
 15  0x000000010833a0ec DVTSyncPerformBlock (in DVTFoundation)
 16  0x000000010825dfe3 -[DVTDispatchLock performLockedBlock:] (in DVTFoundation)
 17  0x0000000108d893f5 __73+[IDEContainer retainedContainerAtFilePath:fileDataType:workspace:error:]_block_invoke (in IDEFoundation)
 18  0x000000010830f2ed -[DVTModelObjectGraph performBlockCoalescingModelChanges:] (in DVTFoundation)
 19  0x0000000108cc9579 +[IDEContainer retainedContainerAtFilePath:fileDataType:workspace:error:] (in IDEFoundation)
 20  0x0000000108d9eb40 -[IDEFileReference _recalculateReferencedContainer] (in IDEFoundation)
 21  0x0000000108cdcf48 -[IDEFileReference referencedContainer] (in IDEFoundation)
 22  0x0000000108ce4200 -[IDEContainerQuery _traverseContainerGraphObject:forDeletion:checkedContainers:insertedMatches:deletedMatches:] (in IDEFoundation)
 23  0x0000000108ce617b -[IDEContainerQuery _traverseContainerGraphObjects:forDeletion:insertedMatches:deletedMatches:] (in IDEFoundation)
 24  0x0000000108ce5ec4 -[IDEContainerQuery _objectsDidChange:] (in IDEFoundation)
 25  0x00007fff8d6eefcc __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ (in CoreFoundation)
 26  0x00007fff8d5e2c5d _CFXNotificationPost (in CoreFoundation)
 27  0x00007fff8a3c14aa -[NSNotificationCenter postNotificationName:object:userInfo:] (in Foundation)
 28  0x00000001082a7085 -[DVTModelObjectGraph _coalescingTick] (in DVTFoundation)
 29  0x0000000108cd1912 -[IDEGroup _setSubitems:] (in IDEFoundation)
 30  0x0000000108cdee30 -[IDEFolder _updateSubitemsWithFileNames:] (in IDEFoundation)
 31  0x0000000108d8eedb __32-[IDEFolder _filePathDidChange:]_block_invoke94 (in IDEFoundation)
 32  0x0000000108339fdc __DVTAsyncPerformBlock_block_invoke (in DVTFoundation)
 33  0x00007fff8d6517cc __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ (in CoreFoundation)
 34  0x00007fff8d642ee5 __CFRunLoopDoBlocks (in CoreFoundation)
 35  0x00007fff8d64282b __CFRunLoopRun (in CoreFoundation)
 36  0x00007fff8d642275 CFRunLoopRunSpecific (in CoreFoundation)
 37  0x00007fff8b8aef0d RunCurrentEventLoopInMode (in HIToolbox)
 38  0x00007fff8b8aecb7 ReceiveNextEventCommon (in HIToolbox)
 39  0x00007fff8b8aeabc _BlockUntilNextEventMatchingListInModeWithFilter (in HIToolbox)
 40  0x00007fff8ad0e28e _DPSNextEvent (in AppKit)
 41  0x00007fff8ad0d8db -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (in AppKit)
 42  0x00007fff8ad019cc -[NSApplication run] (in AppKit)
 43  0x00007fff8acec803 NSApplicationMain (in AppKit)
 44  0x00007fff89ff25fd start (in libdyld.dylib)

【问题讨论】:

    标签: xcode crash startup


    【解决方案1】:

    不确定是哪一个修复了它,但我在终端中运行了以下命令,现在它又可以工作了:

    cd ~/Library
    sudo rm -rf './Preferences/com.apple.dt.Xcode.plist' './Autosave Information/com.apple.dt.Xcode.plist'  './Autosave Information/Unsaved Xcode Document.xcworkspace' './Caches/com.apple.dt.Xcode'
    

    警告:请注意,这可能会删除其他首选项,例如键绑定,因此如果您对 xcode 环境进行了大量自定义,请小心。

    【讨论】:

    • 请注意,运行此命令时,cwd 为~/Library
    • 为清晰起见编辑了我的帖子。谢谢杰西
    • 在 beta 6.3 上遇到了问题,这在一年后解决了我的问题 :)
    • Arg!!这只是删除了我所有的键绑定和首选项!而且根本没有解决问题!不要这样做,更喜欢这个解决方案,它只是重置保存的状态:apple.stackexchange.com/a/159609/18671
    • 谢谢,这为我解决了问题:) 不用担心它清除了我的偏好。没有对工作产品的偏好比对损坏产品的偏好更好:)
    【解决方案2】:

    打开 finder 并转到以下路径并删除创建的文件夹,这些是我们在 xcode 中临时打开任何项目时创建的文件夹:

    /Users/MyMac/Library/Developer/Xcode/DerivedData/
    

    【讨论】:

    • 看起来该目录尚未创建。
    【解决方案3】:

    在我的 Xcode6/Yosemite mac 上没有“Autosave Information”文件夹,所以我删除了 ~/Library/Saved Application State/com.apple.dt.Xcode.savedState 文件夹,它停止了崩溃。

    【讨论】:

      【解决方案4】:

      如果您在新窗口中有任何打开的 swift 文件(例如,当您在 xCode 中双击 .swift 文件并在新窗口中打开时),当 xCode 打开时,这可能是一个问题。我想我在关闭 xCode 时打开了这个窗口,然后在打开 xCode 时这个窗口再次打开,并且由于某种原因导致 xCode 崩溃。尝试在它崩溃之前快速关闭这个打开的窗口。奇怪,但这对我有用。

      【讨论】:

        【解决方案5】:

        让 Xcode 崩溃的场景对我来说有点不同。确实我有同样的调用堆栈错误:

        Application Specific Information:
        ProductBuildVersion: 5A3005
        ASSERTION FAILURE in /SourceCache/IDEXcode3ProjectSupport/IDEXcode3ProjectSupport-3575/Xcode3Sources/XcodeIDE/Frameworks/DevToolsBase/pbxcore/Xcode3Model/Xcode3OCUnitTestableDataSource.m:191
        Details:  ([_indexableIdsToTestableTokens objectForKey:indexableIdentifier]) should be nil, but it is <Xcode3OCUnitTestableDataSourceToken: 0x7fe73b531ae0>
        Object:   <Xcode3OCUnitTestableDataSource: 0x7fe7359c79f0>
        Method:   -setTestableToken:indexableIdentifier:
        Thread:   <NSThread: 0x7fe732415570>{name = (null), num = 1}
        Hints:   None
        

        但我必须复制一个现有项目(.xcodeproj 文件),以便在我的工作区中拥有一个应用程序,该应用程序取决于我的工作区(用作调试应用程序)中的其他项目(构建阶段中的目标依赖项),而不是一个应用程序取决于仅链接到相应项目目标的生成构建输出的任何内容(在我的情况下,框架在构建阶段中的链接二进制与库中)。问题是,每次我将重复的项目导入到我的工作区时,它都会使 Xcode 崩溃......由于崩溃堆栈跟踪正在谈论测试内容,我刚刚浏览了 project.pbxproj 并删除了该文件中所有出现的测试字符串(嗯我工具关心部分以避免损坏我的文件)。

        项目中重复的 xctest 目标出了点问题。一旦我再次尝试在我的工作区中再次导入它,它就可以正常工作了。

        希望对你有帮助

        【讨论】:

          【解决方案6】:

          我已完全删除文件夹 Library/Developer : 关闭 XCode

          rm -r /Library/Developer
          

          对每个文件都说是

          【讨论】:

            【解决方案7】:

            如果您有工作区,没有解决方案对我有用。但我发现了一个..

            • 如果您有工作区文件,请删除 .在终端中使用“pod install”再次安装 pod(需要移动到您的项目文件夹)。

            • 再次打开工作区..它会解决这个问题

            【讨论】:

              【解决方案8】:

              您还可以做一件事(如果您使用的是 pod):-

              1. 右键单击您的 xcworkspace
              2. 点击“显示包装内容”
              3. 删除 xcuserdata 文件夹
              4. 重新启动 xcode

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2011-05-26
                • 2014-12-29
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多