Xcode在启动时崩溃“parentPath必须为nil但不是”

时间:2011-10-17 03:07:39

标签: iphone xcode xcode4 xcode7

每当我启动时,我的XCode(最新版本)崩溃 - 在我解决这个问题之前无法完成任何事情 - 任何想法?

  1. 错误 - 见下文
  2. 在收到问题之前我做了什么

    • 放入了一个新硬盘(并将旧硬盘移到了光盘托架中) - 在新SSD上重新安装了XCode 4 - 一切正常
    • 我在“旧”硬盘上重命名了我的主目录用户名,最后放了“_OLD” - 这样我就不会因为跳转到旧硬盘而感到困惑
    • 我试图从这个旧的HDD区域打开一个测试项目 - 打开它有一些问题(不记得细节) - 从那里关闭/重新启动
    • 然后每次我尝试打开XCode一个新鲜的就像它试图打开最后一个打开的项目,包括我遇到的问题 - 得到以下错误 - 无法继续使用xcode必须崩溃
  3. 错误:

    ASSERTION FAILURE in /SourceCache/DVTFoundation/DVTFoundation-903/Framework/Classes/FilePaths/DVTFilePath.m:322
    Details:  fsrep is absolute (starts with tilde) ('~--814203924d469071-0000000000') parentPath must be nil but it is not ('<DVTFilePath:0x401bdf9e0:'/Volumes/Macintosh HD/Users/greg/.dvdcss'>')
    Object:   <DVTFilePath>
    Method:   +_filePathForParent:fileSystemRepresentation:length:allowCreation:
    Thread:   <NSThread: 0x40010a260>{name = (null), num = 1}
    Hints:   None
    Backtrace:
      0  0x0000000103f44466 -[IDEAssertionHandler handleFailureInMethod:object:fileName:lineNumber:messageFormat:arguments:] (in IDEKit)
      1  0x00000001035b3794 _DVTAssertionFailureHandler (in DVTFoundation)
      2  0x0000000103550a9e +[DVTFilePath _filePathForParent:fileSystemRepresentation:length:allowCreation:] (in DVTFoundation)
      3  0x0000000103550963 +[DVTFilePath _filePathForParent:pathString:] (in DVTFoundation)
      4  0x0000000103b95642 -[DVTFilePath(IDESourceControlStatus) IDESourceControl_importantSubpaths] (in IDEFoundation)
      5  0x0000000103b414ac -[IDEFileReference _updateSourceControlStatusIfNeeded] (in IDEFoundation)
      6  0x0000000103b37951 -[IDEWorkspace _updateSourceControlStatusIfNeeded] (in IDEFoundation)
      7  0x00007fff8c2eb25a __NSFireDelayedPerform (in Foundation)
      8  0x00007fff8b82df84 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ (in CoreFoundation)
      9  0x00007fff8b82dad6 __CFRunLoopDoTimer (in CoreFoundation)
    10  0x00007fff8b80e471 __CFRunLoopRun (in CoreFoundation)
    11  0x00007fff8b80dae6 CFRunLoopRunSpecific (in CoreFoundation)
    12  0x00007fff8b3633d3 RunCurrentEventLoopInMode (in HIToolbox)
    13  0x00007fff8b36a63d ReceiveNextEventCommon (in HIToolbox)
    14  0x00007fff8b36a4ca BlockUntilNextEventMatchingListInMode (in HIToolbox)
    15  0x00007fff86bde3f1 _DPSNextEvent (in AppKit)
    16  0x00007fff86bddcf5 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (in AppKit)
    17  0x00007fff86bda62d -[NSApplication run] (in AppKit)
    18  0x00007fff86e5980c NSApplicationMain (in AppKit)
    19  0x0000000103549eec (in Xcode)
    20  0x0000000000000002
    

7 个答案:

答案 0 :(得分:3)

我遇到了同样的问题。 这是由于一个文件fo,其名称由Xcode在崩溃时给出的目录路径中以〜开头。

检查您是否没有这样的文件并将其删除。

就我而言,它解决了这个问题。

希望得到这个帮助,

的Rds,

迈克尔

答案 1 :(得分:2)

对我有用的解决方案是删除〜/ Library / Autosave Information中的Xcode自动保存文件。 Xcode然后开始为我打扫干净。

答案 2 :(得分:1)

可能不是最佳答案(?)但是我必须(a)重新安装+(b)删除通过我的主目录分散的所有各种XCode文件...然后启动确定

答案 3 :(得分:0)

  • 步骤1:将要保留的所有代码复制到文本文件或 类似的东西
  • 第2步:卸载
  • 第3步:煮一些咖啡
  • 第4步:重新安装

答案 4 :(得分:0)

Details:  fsrep is absolute (starts with tilde) ('~--814203924d469071-0000000000') parentPath must be nil but it is not ('<DVTFilePath:0x401bdf9e0:'/Volumes/Macintosh HD/Users/greg/.dvdcss'>')
Object:   <DVTFilePath>

在我的情况下,引用的文件是dropbox的缓存,因此错误看起来像这样

must be nil but it is not ('<DVTFilePath:0x401bdf9e0:'/Volumes/Macintosh HD/Users/greg/.dropbox.cache.2.25.12'>')

在对Dropbox论坛进行一些研究后,我发现可以删除这些缓存目录。删除后xcode工作正常。

所以我会告诉未来的人在重新安装xcode之前尝试删除有问题的文件。 (如果你不能删除它,请重命名)

答案 5 :(得分:0)

我删除了〜/ Library / Preferences / com.apple.dt.Xcode.plist并且Xcode再次正常启动。

答案 6 :(得分:0)

在我的情况下,我使用自定义.xcconfig文件从命令行进行xcodebuild&#39;来自

HERE_BUILD=./Build-command-line
HERE_INTERMEDIATES=$(HERE_BUILD)/Intermediates

// Paths
// the following paths are enough to redirect everything to $HERE_BUILD
MODULE_CACHE_DIR    = $(HERE_BUILD)/DerivedData/ModuleCache
OBJROOT             = $(HERE_INTERMEDIATES)
SHARED_PRECOMPS_DIR = $(HERE_INTERMEDIATES)/PrecompiledHeaders
SYMROOT             = $(HERE_BUILD)/Products

当我改变HERE_BUILD以获得绝对路径时:

HERE_BUILD=$(SRCROOT)/Build-command-line

错误消失了。