Могу ли я установить несколько версий Xcode?

175

Можно ли установить более одной версии Xcode одновременно?

Если это так, пожалуйста, напишите любой совет, хитрости или потенциальные проблемы, чтобы не упустить.

РЕДАКТИРОВАТЬ:

Причина, по которой я хочу установить несколько версий, состоит в том, чтобы опробовать новую бета-версию sdk, но если новый Xcode содержит ошибки, я хочу иметь возможность использовать более старую версию для моих существующих проектов.

Дана Холт
источник
3
После установки обоих кодов XCode у вас есть пользовательский значок для XCode4, чтобы легко их различать. Вот пользовательский значок - qdevarena.blogspot.com/2011/04/xcode-4-custom-icon.html
Раджаванья Субраманян
Вот значок, который я сделал быстро для Xcode Beta 4.2 ...:! введите описание изображения здесь .png файл --- < dl.dropbox.com/u/7124872/XcodeBeta.png?dl=1 > .icns файл --- < dl.dropbox.com/u/7124872/Xcode.icns? dl = 1 > Наслаждайся
Юбер Куннемейер
ссылка для всех версий Xcode stackoverflow.com/questions/10335747/…
Honey
Смотрите мой ответ для гораздо более простого способа сделать то, что вы просите. Кроме того, если вы считаете, что это лучший способ, попробуйте пометить мой ответ как решение вашей проблемы. Я, конечно, думаю, что это гораздо лучшее решение.
cseder

Ответы:

95

Да, вы можете установить несколько версий Xcode. Они будут установлены в отдельных каталогах. Я обнаружил, что лучше всего сначала установить версию, поставляемую с вашим Mac, а затем установить загруженные версии, но это, вероятно, не имеет большого значения. См. Http://developer.apple.com/documentation/Xcode/Conceptual/XcodeCoexistence/Contents/Resources/en.lproj/Details/Details.html эту страницу Apple Developer Connection для получения дополнительной информации. <- Страница больше не существует!

MattK
источник
13
Для пояснения они будут устанавливаться в отдельные каталоги, только если вы явно укажете это во время установки. Кроме того, вы, как правило, хотите отменить выбор всех функций, кроме основных инструментов xcode, потому что другие не позволяют изменять каталог установки.
Пол Дю Буа
7
Ссылка устарела. Можно получить старые версии от сюда , но нет никаких подробностей о том , как настроить их или установить их = (.
GeneralMike
1
У меня не было возможности попробовать это с недавним Xcode. Интересно, изменилось ли это с добавлением Xcode в App Store?
MattK
4
Эта ссылка может помочь вам, ребята: iosdevelopertips.com/xcode/…
King-Wizard
Я недавно обновился до Xcode 7 и потерял возможность создавать и тестировать на iOS 7.1. Я скачал Xcode 6.4 с developer.apple.com/downloads/index.action (согласно предыдущим комментариям) и скопировал Xcode.app в /Applications/Xcode-6.4, откуда он работает очень счастливо (согласно информации, представленной на iosdevelopertips.com). / xcode /… , опять же, как в предыдущих комментариях)
Мартен Дэвис,
43

Легко иметь несколько установок XCode.

В установщике есть раскрывающийся список местоположения ... вам просто нужно выбрать новое местоположение при установке бета-версии.

Эти инструкции от евангелиста Apple Dev Tools содержат полную информацию (требуется имя пользователя / пароль Apple dev): https://devforums.apple.com/message/40847#40847

Затем возьмите свой собственный значок для используемой бета-версии XCode, чтобы вы могли различить их в доке: http://iphonedevelopment.blogspot.com/2009/03/multiple-developer-tool-installs.html

Джим Роудс
источник
Эта ссылка также может помочь вам, ребята: iosdevelopertips.com/xcode/…
King-Wizard
36

Могу ли я установить несколько версий Xcode?

Решение:
На самом деле, как говорят многие из приведенных выше ответов, это возможно. Даже в соответствии со следующим блогом Oracle Mobile Platform вы можете установить более одного кода XCode на одном Mac. Причина, по которой вам нужно это сделать, может варьироваться в зависимости от вас.

Сценарий:
возможно, вы установили только одну версию XCode. В основном это один выпуск последней версии XCode, который доступен через App Store (у меня есть Xcode 6.3.2, и мне нужно было сохранить его, а также установить Xcode 7, который доступен через App Store).

Например: -

Вы уже установили XCode 6.x, а в App Store уже есть XCode 7, предоставленный App Store. По любой причине вам нужно сохранить этот старый XCode 6.x (как вы знаете, он стабилен в течение некоторого времени), а также вам нужно установить и опробовать новый XCode 7,

так что вопрос номер один может быть таким: Как и где вы могли бы скачать устанавливаемый для Mac OS X файл DMG для XCode 7 (или, может быть, вы захотите попробовать более старую версию XCode)? Хорошо, вот прямая ссылка на загрузку Apple (вам, возможно, придется войти в учетную запись Apple Developer, прежде чем просматривать эту ссылку правильно), или же по следующей ссылке - ссылка на вопросы и ответы StackOverflow, которая дает ответ, где можно скачать файлы DMG для IDE XCode .

Итак, теперь давайте предположим, что вы получили какой-либо файл DMG для версии XCode, которую вы хотите установить как вторичную?

Шаги:
Следуйте инструкциям, приведенным ниже, которые я получил из приведенной выше первой ссылки блога Oracles Mobile Platform.

  1. Закрыть Xcode, если работает
  2. Переименовать /Applications/Xcode.appв/Applications/Xcode_6.x.app
  3. Введите пароль администратора при появлении запроса
  4. Дважды щелкните файл DMG необходимого предварительно загруженного XCode и установите его
  5. После установки перед запуском измените только /Applications/Xcode.appчто установленную новую версию (в соответствии с приведенным выше примером)/Application/Xcode_7.app

Заметка*:

[Пожалуйста, терпеливо читайте этот раздел до следующего примечания.] Если у вас установлены две версии Xcode, на вашей рабочей станции также установлены две версии инструмента командной строки ( xcodebuild). Вопрос в том, что будет использовать ваша команда терминала и сборки Xcode при создании приложения для iOS. Потому что наряду с инструментом командной строки iOS SDK, который используется для создания вашего приложения, также зависит от.

Мой опыт был у меня было две версии XCode. Xcode 10 (старый с iOS12.0 - iphoneos12.0) и Xcode 10.1 (новый с iOS 12.1 - iphoneos12.1). Таким образом, очевидно, что настройки инструмента командной строки были выбраны для использования xcodebuildинструмента из старого приложения. Мне пришлось вручную выбрать его в окне настроек XCode.

Где установить инструмент командной строки в окне настроек XCode?

  • Выберите Locationsвкладку и там вы можете выбрать все установленные версии инструментов командной строки (что есть xcodebuild).

Как выяснить, какая версия iOS SDK используется для создания вашего iOS-приложения?

  • На вашем терминале выдайте следующую команду: $> xcodebuild -showsdks
  • Выше команда должна распечатать все детали SDK, которые ваша текущая конфигурация XCode использует для создания ваших приложений. И, увидев результаты, вы поймете, что ваша версия SDK для iOS / iphoneos зависит от изменения параметра командной строки ( xcodebuild) в вашем Xcode.

Примечание **:
Приведенная выше ссылка на загрузку Apple и ссылки в блоге Oracles MPF могут измениться и / или быть недоступны в будущем.

Поэтому я надеюсь, что мой этот ответ может быть полезным для кого-то еще там!
Ура!

Рандика Вишман
источник
@Tinkerbell Полезно знать! : D Может быть, в моей машине у меня может быть конфликтная конфигурация. Спасибо!
Рэндика Вишман
32

Вы можете использовать команду «xcode-select» в терминале для переключения между разными версиями Xcode в установленных папках.

Эрик Чан
источник
10
Это помогло мне, например, запустить sudo xcode-select -s /Applications/Xcode-beta.app/Contents/Developer/использовать бета-версию xcode. Спасибо!
Кристиан Ландгрен
Спасибо ... это лучший ответ!
Карлос Галеано
13

Кажется, что XCode действительно любит находиться в папке «Приложения» и называться XCode, особенно при использовании xcodebuild(например, при сборке для Карфагена) - и xcode-selectне всегда кажется, что его сокращают.

У меня есть клиентский проект, который все еще использует Swift 2.2, и я застрял на Xcode 7 для этого и использую Xcode 8 для всего остального.

Итак, в папке «Приложения» у меня есть Xcode 7 (переименован в Xcode_7 ) и Xcode 8 (переименован в Xcode_8 ). Затем я переименовываю тот, который мне нужен, просто в Xcode , и снова возвращаюсь, когда закончите. Это болит, но, кажется, работает.

Этот сценарий оболочки немного упрощает ...

xcode-version.sh

cd /Applications

if  [[ $1 = "-8" ]]
then 
    if [ -e Xcode_8.app ] 
    then            
        mv Xcode.app Xcode_7.app
        mv Xcode_8.app Xcode.app
        echo "Switched to Xcode 8"
    else
        echo "Already using Xcode 8"
    fi
elif  [[ $1 = "-7" ]]
then
    if [ -e Xcode_7.app ] 
    then            
        mv Xcode.app Xcode_8.app
        mv Xcode_7.app Xcode.app
        echo "Switched to Xcode 7"
    else
        echo "Already using Xcode 7"
    fi
else
    echo "usage: xcode-version -7/8"
fi

xcode-select --switch Xcode.app
Эшли Миллс
источник
1
Работает ли Xcode 8 и 7 параллельно для вас?
nnrales
У меня не было никаких проблем, если я не забываю каждый раз переименовывать соответствующую версию в Xcode.app.
Эшли Миллс
Спасибо за решение и удобный скрипт. Между прочим, мне нужно было перейти sudoк последней строке, sudo xcode-select --switch Xcode.appчтобы заставить переключающую часть работать.
Исуру
1
Использование xcodebuildопределенной версии XCode не требует общесистемного изменения версии XCode по умолчанию. Установка переменной DEVELOPER_DIR среды перед использованием xcodebuildдостаточно: export DEVELOPER_DIR="/Applications/Xcode-9.3.app/Contents/Developer".
Рейн Спейккерман
12

Обратите внимание, что если вы используете xcodebuild инструмент командной строки, то последняя установленная версия XCode станет версией по умолчанию. (Символическая ссылка установлена ​​в / usr / bin.) Чтобы использовать xcodebuildдля других версий Xcode, вам нужно использовать версию в (xcode_install_directory)/usr/binкаталоге.

note Примечание Для переключения между различными версиями инструментов командной строки Xcode используйте xcode-selectинструмент, упомянутый другими комментаторами.

ThomasW
источник
4

Вглядываясь в Xcode 9 , бета-версия Xcode помечена «Xcode-beta.app» и предназначена для совместной работы с производственной версией. Информация может быть найдена в примечаниях к выпуску XCode здесь . (Не использовать прямую ссылку, потому что она часто ломается).

От Apple:

Xcode 9 beta 4 может сосуществовать с предыдущими версиями Xcode. Предварительные версии Xcode доступны на developer.apple.com, упакованы в сжатый XIP-файл. Чтобы установить Xcode в течение периода бета-тестирования, загрузите файл XIP, дважды щелкните файл, чтобы развернуть его, и перетащите Xcode-beta.app в папку «Приложения».

bauerMusic
источник
Предупреждение: все мои симуляторы Xcode 8 пропали, и я не могу добавить новые. Это весь Xcode 9 для меня (или мучительно удаляет все, что Xcode 9 испортил во время установки). YMMV.
Себастьян,
@Sebastian Я думаю, что у меня все в порядке (использую Xcode 8, но раньше у меня было 9). У меня все еще есть возможность (Xcode> Window> Devices) добавить другие симуляторы. Возможно, стоит открыть новую тему, если мы сможем это проверить. Можете ли вы добавить старые симуляторы?
bauerMusic
другой мой друг подтвердил, что он тоже работает на него. Так что, вероятно, что-то облажалось в моей системе. Так что я думаю, что это просто сказка «что-то может пойти не так, если вы что-то измените» ;-) (и они будут, если вы этого не сделаете)
Себастьян
@Sebastian Можете ли вы добавить их из «Устройства»?
bauerMusic
Вчера не смог («[...] я не могу добавить новые»), кнопка «Создать» в диалоге «Добавить симулятор» ничего не сделала. Однако я просто заново открыл свой уже заброшенный Xcode 8, и там были все симуляторы, которые я пытался создать вчера, все работало. Я также могу добавить новые. @bauerMusic, спасибо, что подтолкнул меня к повторной проверке.
Себастьян
2

Чтобы установить несколько экземпляров Xcode, вы можете поместить их в разные папки, например /Developer5.0.2/Xcode, но чтобы использовать их в CI или среде сборки (командная строка), вам нужно настроить некоторые переменные среды во время сборки. Вы можете получить больше инструкций здесь . Так что он работает не только с бета-версией и свежим выпуском, но и с действительно старыми версиями, вам может понадобиться использовать его с плагинами Marmalade или Unity, которые еще не поддерживают последние версии Xcode (иногда это случается).

fleurdeviande
источник
2

Установите несколько версий Xcode с помощью Xcode-Install Ruby Gem

Вы можете сделать весь этот процесс намного проще, если используете xcode-install RubyGem .

Если у вас уже есть работающая установка Xcode CommandLineTools и Ruby (я бы предложил использовать Homebrew для установки Ruby), но я думаю, что он работает и с Ruby, поставляемым macOS, если вы устанавливаете Gem либо с помощью sudo, либо как пользовательская установка , (Подробности на странице GitHub)

    $ gem install xcode-install
    $ xcversion list
    6.0.1
    6.1
    6.1.1
    6.2 (installed)
    6.3
    $ xcversion install 8
    ######################################################################## 100.0%
    Please authenticate for Xcode installation...

    Xcode 8
    Build version 6D570

Чтобы выбрать версию как активную, вы запустите:
$ xcversion select 8

Чтобы выбрать версию как активную и изменить символическую ссылку в / Applications / Xcode, вы запустите:
$ xcversion select 8 --symlink

xcode-install также может управлять вашими локальными симуляторами с помощью команды simulators.

Прочитайте инструкции на странице проекта GitHub для получения дополнительной информации.

cseder
источник
0
  1. Сначала удалите текущую установку Xcode с вашего компьютера. Вы можете пропустить этот шаг, но я хотел начать все сначала. Плюс - в последнее время Xcode вел себя немного странно, так что это хорошая возможность сделать это.
  2. Установите Xcode 8 из App Store. Убедитесь, что файлы проекта ( .xcodeproj) и файлы рабочей области ( .xcworkspace) могут быть открыты с новой установкой XCode (не забывайте выбирать опцию Позднее при появлении соответствующего запроса).
  3. Загрузите файл Xcode 7.3.1 dmg от Apple. Дважды нажмите на вновь загруженный файл dmg, чтобы получить стандарт «Перетащите, чтобы установить Xcode в папку« Приложения »». Не делай этого. Вместо этого перетащите значок Xcode на рабочий стол. Измените имя файла на Xcode 7.3.1. Теперь перетащите его в папку «Приложения».

Теперь у вас есть две версии Xcode, установленные на вашем компьютере. Xcode 7.3.1 и Xcode 8.

Детали: Установите Xcode 7 & Xcode 8 рядом

katwal-Дипак
источник
0

На каком бы пути вы ни пошли, сделайте копию папки вашего проекта и переименуйте внешнюю папку, чтобы отразить, в какой версии XCode она открывается. Вы выбираете, хотите ли вы обновить синтаксис или нет, но основная причина весь этот боввер - ваша раскадровка будет изменена только при взгляде. Это может быть решено к тому времени, когда новый читатель столкнется с этим в будущем, или

aremvee
источник
0

Все обновления для новой версии xcode будут доступны в магазине приложений, если вы установили версию из магазина приложений. Если вы просто вставите скачанную версию, магазин приложений покажет, что установка не обновлена. Поэтому сохраняйте стабильную версию, загруженную из appstore, в папку своих приложений.

Чтобы попробовать новые бета-версии, я обычно помещаю их в отдельный диск, разархивирую и устанавливаю там. Это позволит избежать путаницы при работе над стабильной версией.

Чтобы избежать путаницы, вы можете оставить в доке только стабильную версию и открыть бета-версию из центра внимания (Command + Space). Это временно поместит бета-версию на док-станцию. Но это гарантирует, что вы случайно не отредактируете свой клиентский проект в бета-версии.

Самое важное: - Работа над одним проектом на двух разных xcode может привести к нежелательным результатам. Как будто была ошибка в конструкторе интерфейсов, которая появилась в определенной версии xcode. Который нарушил ограничения. Это было исправлено снова в следующем.

Следите за заметками о выпуске, чтобы точно знать, какие дополнительные функции и какие проблемы известны.

Ашиш Писей
источник