Как открыть файлы проекта с помощью Xcode 4 по умолчанию, если рядом установлен Xcode 5

Xcode 4 по-прежнему остается моей основной IDE для разработки под iOS. Чтобы попробовать грядущую iOS 7, я установил Xcode 5 Developer Preview, и теперь все файлы, которые раньше открывались в Xcode 4, теперь открываются в Xcode 5.

Как я могу снова вернуть Xcode 4 в качестве редактора по умолчанию, не удаляя Xcode 5?


person svlasov    schedule 13.08.2013    source источник


Ответы (2)


Прочитав о LaunchServices в OS X, я наконец нашел решение, спасибо за подсказку @peter-m.

Чтобы изменить ассоциацию файлов для определенного приложения, можно использовать инструмент lsregister. То есть для перерегистрации приложения есть параметр -f, а для отмены регистрации -u. На самом деле все можно сделать одной командой:

$ lsregister -f /Applications/Xcode.app

Или, если вы хотите отменить регистрацию Xcode 5 и не трогать ранее установленные вручную ассоциации:

$ lsregister -u /Applications/Xcode5-DP5.app

lsregister находится в /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/, поэтому добавьте его в свой $PATH

Повторно войдите в OS X, чтобы изменения вступили в силу.

person svlasov    schedule 13.08.2013
comment
Хороший! .../lsregister -u /Applications/Xcode5-DP5.app помог мне. Другое предложенное решение (файл -> получить информацию -> открыть с помощью: xcode -> изменить все) не сработало. - person pix0r; 06.09.2013

Предполагая, что у вас еще нет проектов Xcode 5, как насчет вручную:

  1. Найдите существующий проект XCode 4 (*.xcodeproj) с помощью Finder
  2. Сделайте Get Info файла
  3. Измените Open with: на желаемую версию Xcode.
  4. Нажмите на Change All
  5. Повторите для всех типов файлов, которые вы хотите открыть с помощью XCode 4.

Или, если вы хотите попробовать что-то более автоматическое, взгляните на: программно-скриптовое-изменение-открытия-по-умолчанию-с-настройкой

Судя по приведенному ниже комментарию, проблема, похоже, связана с тем, что сборки командной строки выбирают неправильную версию Xcode. В этом случае я предлагаю посмотреть: xcode-build-and-archive-from- командная строка, особенно комментарий Рейда к его собственному ответу, в котором говорится:

Отлично работает в Xcode 4.4, и я уверен, что и в 4.3 тоже. Убедитесь, что вы выбрали правильный выпуск Xcode, используя:

xcode-select <path to Xcode.app>

Так что, возможно, правильное решение основано на понимании:

xcode-select — управляет путь к папке Xcode для инструментов Xcode BSD.

person Peter M    schedule 13.08.2013
comment
Помимо *.xcodeproj существует слишком много типов файлов. Я надеялся найти решение, которое будет работать сразу со всеми файлами Xcode. - person svlasov; 13.08.2013
comment
@svlasov После того, как вы преодолеете файлы проекта, файлы .h и .m, что еще действительно нужно для открытия файла вручную? Вы подразумеваете, что OSX использует информацию Open with, когда XCode неявно открывает файлы, спрятанные глубоко в проекте? Я бы предположил, что после запуска правильной версии XCode он будет явно открывать файлы и не отвечать на open with - person Peter M; 13.08.2013
comment
Просмотр файлов в проекте Xcode действительно не имеет ничего общего с ассоциацией Open with. У меня проблема со сторонними библиотеками, которые используют командную строку для сборки и не имеют файлов .xcodeproj как таковых. - person svlasov; 13.08.2013
comment
@svlasov Похоже, это другая проблема, чем вопрос, который вы задали. Похоже, более правильный вопрос How do I change the command line build automation of third party (source code) libraries to use a specific version of XCode - person Peter M; 13.08.2013
comment
Проблема не в сборке, а в открытии/редактировании файлов. - person svlasov; 13.08.2013
comment
@svlasov Хорошо .. теперь я в замешательстве. Можете ли вы явно перечислить, что вы хотите сделать с этими файлами, которые не имеют проекта XCode, но создаются с помощью Xcode? - person Peter M; 13.08.2013
comment
Я хочу использовать Xcode 4 в качестве редактора файлов, чтобы он открывался для всех файлов, как он открывался до установки Xcode 5. Я сейчас играю с WebRTC на iOS. Последние версии больше не используют .xcodeproj, и проект собирается с помощью инструмента ninja из файлов .gyp. При этом присутствуют все стандартные типы исходных файлов iOS: .h, .m, .mm, .c, .cc, .plist, .xib, .xml и другие. Я разместил решение ниже. - person svlasov; 13.08.2013