【问题标题】:XCode 4: Crashes when Files/Groups are added AND project is not cleanedXCode 4:添加文件/组且未清理项目时崩溃
【发布时间】:2012-04-20 16:33:08
【问题描述】:

我的一个项目有以下问题:

如果我向其中添加任何文件或组,XCode 很快就会停止并崩溃。如果我在那之前做一个干净的项目,它工作得很好。一旦我进行了项目构建,如果我尝试添加文件,它将再次崩溃。

有什么想法吗?寻找解决方案,但没有任何运气。我正在使用最新的 XCode 4.3.2 - 新安装没有帮助。

XCode 的崩溃报告:

Process:         Xcode [7017]
Path:            /Applications/Xcode.app/Contents/MacOS/Xcode
Identifier:      com.apple.dt.Xcode
Version:         4.3.2 (1177)
Build Info:      IDEApplication-1177000000000000~6
App Item ID:     497799835
App External ID: 7171108
Code Type:       X86-64 (Native)
Parent Process:  launchd [139]

Date/Time:       2012-04-11 16:46:18.177 +0200
OS Version:      Mac OS X 10.7.3 (11D50)
Report Version:  9

Interval Since Last Report:          137545 sec
Crashes Since Last Report:           10
Per-App Interval Since Last Report:  135817 sec
Per-App Crashes Since Last Report:   10
Anonymous UUID:                      F3C112A1-E15B-4D44-9662-F13A93846AE0

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

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

Application Specific Information:
ProductBuildVersion: 4E2002
UNCAUGHT EXCEPTION (NSInvalidArgumentException): -[PBXFolder targets]: unrecognized selector sent to instance 0x40b7b63e0
UserInfo: (null)
Hints: None
Backtrace:
  0  0x00007fff95298faa __exceptionPreprocess (in CoreFoundation)
  1  0x00007fff99458d5e objc_exception_throw (in libobjc.A.dylib)
  2  0x00007fff953252ae -[NSObject doesNotRecognizeSelector:] (in CoreFoundation)
  3  0x00007fff95285e73 ___forwarding___ (in CoreFoundation)
  4  0x00007fff95285c88 _CF_forwarding_prep_0 (in CoreFoundation)
  5  0x000000011175717e -[XCProjectReferenceInfo _synchronizeWithReferencedProjectIfNeeded] (in DevToolsCore)
  6  0x0000000111757dc2 -[XCProjectReferenceInfo archivableInfoDictionary] (in DevToolsCore)
  7  0x000000010dfd3c47 -[NSArray(DVTFoundationClassAdditions) dvt_arrayByApplyingSelector:] (in DVTFoundation)
  8  0x000000011166057d -[PBXProject _projectReferences] (in DevToolsCore)
  9  0x000000011164912a -[PBXArchivingBinding writeValueForObject:toPListArchiver:] (in DevToolsCore)
 10  0x0000000111648158 -[PBXObject _archiveValuesForArchiveMask:toPListArchiver:] (in DevToolsCore)
 11  0x0000000111672997 -[PBXPListArchiver _archiveObject:asWeakReference:] (in DevToolsCore)
 12  0x00000001116734e6 -[PBXPListArchiver initWithRootObject:delegate:role:] (in DevToolsCore)
 13  0x0000000111650018 -[PBXProject writeToFile:projectFile:userFile:outResultNotification:] (in DevToolsCore)
 14  0x00000001116505a4 -[PBXProject _writeToFileSystemProjectFile:userFile:checkNeedsRevert:] (in DevToolsCore)
 15  0x0000000111650655 -[PBXProject writeToFileSystemProjectFile:userFile:checkNeedsRevert:] (in DevToolsCore)
 16  0x00000001117ee0bb -[Xcode3Project writeToFilePath:forceWrite:error:] (in DevToolsCore)
 17  0x000000010e68cf2d -[IDEContainer _saveContainerForAction:error:] (in IDEFoundation)
 18  0x00007fff920caf64 __NSFireTimer (in Foundation)
 19  0x00007fff9524dc24 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ (in CoreFoundation)
 20  0x00007fff9524d776 __CFRunLoopDoTimer (in CoreFoundation)
 21  0x00007fff9522e001 __CFRunLoopRun (in CoreFoundation)
 22  0x00007fff9522d676 CFRunLoopRunSpecific (in CoreFoundation)
 23  0x00007fff965d331f RunCurrentEventLoopInMode (in HIToolbox)
 24  0x00007fff965da51b ReceiveNextEventCommon (in HIToolbox)
 25  0x00007fff965da456 BlockUntilNextEventMatchingListInMode (in HIToolbox)
 26  0x00007fff91411f5d _DPSNextEvent (in AppKit)
 27  0x00007fff91411861 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (in AppKit)
 28  0x00007fff9140e19d -[NSApplication run] (in AppKit)
 29  0x00007fff9168cb88 NSApplicationMain (in AppKit)
 30  0x000000010df8aeec (in Xcode)

我发现的一些附加信息:

我在另一台计算机上尝试过这个 - 效果相同。但是,这可能很重要:它只发生在我构建真正的 iPhone 之后。如果我为模拟器进行构建 - 一切正常,不会发生崩溃。一旦我进行了“真正的”iOS 构建(调试或发布) - 如果我对项目进行任何更改,它就会崩溃。

【问题讨论】:

  • 如何添加文件或组?拖入,还是使用菜单命令?您是否尝试过检查您的项目设置是否可以升级?
  • 你好。我的项目设置是最新的。拖入和使用菜单(文件 - 新的和使用上下文菜单一样多)都会使应用程序崩溃。真令人沮丧:(
  • 您能分享一份崩溃报告的副本/粘贴吗?即,苹果堆栈跟踪?有时它可以指向一些可以改变的东西(尽管到目前为止听起来确实像一个值得向他们报告的 Apple 错误)。
  • 我在下面添加了它,因为它太长了,无法作为评论发布。顺便提一句。 - 我刚刚发现.. 即使更改项目版本号也有相同的效果 - 如果我没有清理就这样做 - XCode 会崩溃。

标签: ios xcode ios4 crash


【解决方案1】:

好的 - 这确实有点帮助。这似乎是您设置目标的方式。请注意,版本号、Bundle Identifier 和所有这些“iOS 应用程序目标”值不会存储在 project.pbxproj 文件中,而是写入“MyApp-Info.plist”文件。我会检查该文件是否存在并与该目标的INFOPLIST_FILE 构建设置中设置的值正确关联。

我还要检查主项目文件本身是否“项目格式”设置为“XCode 3.2-compatible”,而不是 3.1-compatible。

【讨论】:

  • 该项目有几个目标。我检查了所有条目和相应的 Info.plist 文件,它们都存在并且是正确的。实际上它们必须是,否则我无法构建目标 - 效果很好。该项目也设置为与 XCode 3.2 兼容。我发现的另一件事 - 对构建进行“存档”(发布)没有相同的效果。只有调试版本会导致这些崩溃。哦,并且:我确实在我的项目属性中设置了项目版本 - 这是为了在我的所有目标中都有相同的项目版本。
  • 一头雾水。我希望 XCode 异常链的某些部分能够显示正在发生的事情。万岁 Mary 选项我现在尝试,如果我是你(并行):1)打开 Apple 的错误,2)创建模仿目标的全新项目,就像你已经拥有的那样,并尝试复制文件并查看它是否崩溃,如果没有,请查看两个项目集之间存在哪些差异 3)一些可能无益的诅咒,4)在 SO 上检查任何和所有相关问题,以尝试类似的事情。抱歉,我帮不上忙。
  • 嘿斯科特。我添加了一些关于这个问题的新信息。也许他们可以帮忙?
  • 你已经打开了 Apple 的 bug 吗?您的异常链中的关键行似乎是[XCProjectReferenceInfo _synchronizeWithReferencedProjectIfNeeded] - 我认为您的目标(或信息设置)中有一些东西特别导致了这个问题,可能由用于设备的配置文件进一步指定。另请查看开发与分发设置 - 您没有在原始票证中指定您在那里执行的设置。
猜你喜欢
  • 1970-01-01
  • 2011-05-26
  • 1970-01-01
  • 1970-01-01
  • 2011-09-15
  • 1970-01-01
  • 1970-01-01
  • 2017-01-27
  • 1970-01-01
相关资源
最近更新 更多