XCode 4: сбой при добавлении файлов/групп и не очищении проекта

У меня есть следующая проблема с одним из моих проектов:

Если я добавлю к нему какой-либо файл или группу, 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 (отладку или выпуск) — она рухнет, если я внесу какие-либо изменения в проект.


person Manuel    schedule 06.04.2012    source источник
comment
Как вы добавляете файлы или группы? Перетаскивание или использование команды меню? Пробовали ли вы проверить, можно ли обновить настройки вашего проекта?   -  person Scott Corscadden    schedule 06.04.2012
comment
Привет. Настройки моего проекта обновлены. Как перетаскивание, так и использование меню (Файл - новое, как и использование контекстного меню) приводит к сбою приложения. Реально обидно :(   -  person Manuel    schedule 10.04.2012
comment
Можете ли вы поделиться копией/вставкой отчета о сбое? Т.е. трассировка стека яблока? Иногда это может указывать на что-то, что можно изменить (хотя пока это звучит как ошибка Apple, о которой стоит сообщить им).   -  person Scott Corscadden    schedule 10.04.2012
comment
я добавил его ниже, так как он слишком длинный, чтобы публиковать его в качестве комментария. Кстати. - Я только что узнал ... даже изменение номера версии проекта имеет тот же эффект - Если я сделаю это без очистки - XCode выйдет из строя.   -  person Manuel    schedule 11.04.2012


Ответы (1)


Хорошо - это помогает немного больше. Похоже, это то, как вы настроили свои цели. Обратите внимание, что номер версии, идентификатор пакета и все эти значения «Цель приложения iOS» не сохраняются в файле project.pbxproj, а записываются в файл «MyApp-Info.plist». Я бы проверил, что файл существует и правильно соотносится со значением, установленным в настройке сборки INFOPLIST_FILE для этой цели.

Я бы также проверил, что для самого основного файла проекта «Формат проекта» установлено значение «XCode 3.2-совместимый», а не 3.1-совместимый.

person Scott Corscadden    schedule 11.04.2012
comment
У проекта есть пара Целей. Я проверил все записи и соответствующие файлы Info.plist, и все они существуют и верны. На самом деле они должны быть, иначе я не смог бы построить цель, которая отлично работает. Проект также настроен на совместимость с XCode 3.2. Еще одна вещь, которую я обнаружил, - выполнение Архива (Выпуска) сборки не имеет такого же эффекта. Только отладочные сборки вызовут эти сбои. Да, и еще: я установил версию проекта в свойствах проекта — это означает, что во всех моих целях должна быть одна и та же версия проекта. - person Manuel; 11.04.2012
comment
Сбитый с толку. Я надеялся, что какая-то часть цепочки исключений XCode покажет, что происходит. Радуйся, Мария, варианты, которые я бы попробовал сейчас, будь я тобой (параллельно): 1) открыть ошибку с Apple, 2) создать новый проект, который имитирует цели и тому подобное, что у вас уже есть, и попробовать скопировать в файлы и посмотреть, происходит сбой, если это не так, посмотрите, какие существуют различия между двумя наборами проектов 3) некоторые, вероятно, бесполезные проклятия, 4) проверьте все связанные проблемы здесь, на SO, чтобы попробовать похожие вещи. Извините, я не мог больше помочь. - person Scott Corscadden; 12.04.2012
comment
Эй, Скотт. Я добавил новую информацию, которую я получил по этой проблеме. Может быть, они смогут помочь? - person Manuel; 20.04.2012
comment
Вы уже открыли ошибку с Apple? Ключевая строка в вашей цепочке исключений выглядит как [XCProjectReferenceInfo _synchronizeWithReferencedProjectIfNeeded] - я думаю, что у вас есть что-то в вашей цели (или настройках информации), специально вызывающее эту проблему, возможно, дополнительно указанную в файле конфигурации, используемом для устройств. Также посмотрите настройки «Разработка и распространение» — вы не указали в исходном билете, какой из них вы там делаете. - person Scott Corscadden; 20.04.2012