Схема сборки Xcode 4 проваливается каждый раз, когда я меняю ветку в Git

В Xcode 4, когда я работаю над проектом iOS, раскрывающееся меню «Схема» на панели инструментов Xcode обычно отображает схему для симулятора iPhone X.X, симулятора iPad X.X и устройства iOS.

При смене ветвей после того, как что-то повлияло на файл * .xcodeproj / project.pbxproj, все мои схемы исчезают из раскрывающегося списка схем. Если я закрою проект и снова открою, они вернутся. Это очень раздражает.

Вот что я делаю:

  • Создайте новый проект, связанный с iOS
  • Этап + Зафиксируйте все в основной ветке
  • Создать и перейти в новую ветку
  • Добавьте новый класс в свой проект и сохраните все (опция CMD + S +) или просто создайте проект, чтобы все сохранить.
  • Зафиксируйте это изменение
  • Вернитесь в основную ветку

На данный момент мои схемы испорчены, и мне нужно закрыть проект и снова открыть его, чтобы вернуть их.

Вот как они выглядят в начале: введите описание изображения здесь

Вот как они выглядят после выполнения перечисленных мной шагов: введите здесь описание изображения

Кто-нибудь знает способ обойти это или это просто ошибка в Xcode? Я отправил отчет об ошибке в Apple несколько месяцев назад и не получил ответа. Я также не получил ответа на вопрос об этом на форумах разработчиков.

Обновление: если у вас есть проект с несколькими целями, только схемы для выбранной цели будут испорчены после переключения ветвей.

Обновление: вот мой .gitignore

# the build
build

# temp nibs and swap files
*~.nib
*.swp

# OS X folder attributes
.DS_Store

# user-specific XCode stuff
*.pbxuser
*.mode1v3
*.mode2v3
*.perspectivev3
*.xcuserstate
project.xcworkspace/
xcuserdata/

person George    schedule 02.12.2011    source источник
comment
Та же проблема, все, что меняет pbxproj, испортит схемы.   -  person Pascal    schedule 02.12.2011
comment
@Pascal НЕОБХОДИМО ли версионировать эти файлы? Я не знаком с XCode, но думаю, что ему может не понравиться кеширование или что-то в этом роде.   -  person Nic    schedule 02.12.2011
comment
@melee Да, файл pbxproj требует версионирования.   -  person George    schedule 03.12.2011
comment
Есть ли какие-то строки в этих файлах, которые нужно очистить? (stackoverflow.com / questions / 6064476 /) или какое-либо преобразование, которое вы могли бы предотвратить? (stackoverflow.com/questions/1549578/git-and-pbxproj)?   -  person VonC    schedule 04.12.2011
comment
Похоже на ошибку в Xcode. Сообщали ли вы об ошибке в Apple на странице bugreporter.apple.com?   -  person Joey Hagedorn    schedule 23.12.2011
comment
@Joey Да, к сожалению, несколько месяцев назад.   -  person George    schedule 23.12.2011
comment
Это происходит каждый раз. Это определенно ошибка. Я просто щелкаю поле целевой версии сборки (5.0 и т. Д.), А затем снова выхожу, и он сбрасывается.   -  person Dylan Gattey    schedule 24.12.2011
comment
@Dylan У меня тоже работает, это лучше, чем закрывать / открывать проект!   -  person George    schedule 29.12.2011


Ответы (2)


У меня такое случается каждый раз. Это определенно ошибка. Я просто щелкаю поле целевой версии сборки (5.0 и т. Д.), А затем снова выхожу, и он сбрасывается. Не нужно открывать и закрывать проект.

person Dylan Gattey    schedule 29.12.2011
comment
Вы можете объяснить, что имеете в виду? Это происходит со мной в xcode 6.0.1, и я не знаю, как это исправить, не воссоздавая каждый раз все свои схемы. - person chris stamper; 24.09.2014

Вы добавляете и фиксируете файл .xcodeproj? У меня здесь был аналогичный вопрос о том, как управлять конфигурацией с ветками. Я думаю, что оба ответа могут быть полезны.

person Jim    schedule 16.12.2011
comment
Да, я фиксирую файл .xcodeproj. Ссылка, которую вы предоставили, не работает. - person George; 17.12.2011
comment
Хорошо. Теперь он должен работать. Извините, я не смог помочь. Я надеюсь, что это поможет кому-то другому. - person Jim; 17.12.2011