Могу ли я установить несколько версий Xcode? - PullRequest
159 голосов
/ 21 марта 2009

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

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

EDIT:

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

Ответы [ 11 ]

90 голосов
/ 21 марта 2009

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

41 голосов
/ 05 мая 2010

Легко иметь несколько установок 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

31 голосов
/ 29 июля 2011

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

28 голосов
/ 20 сентября 2015

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

Решение:
На самом деле, как говорят многие из приведенных выше ответов, это возможно. Даже согласно следующему Oracle Mobile Platform Blog , вы можете установить более одного XCodes на одном 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

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

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

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

  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 использует для создания ваших приложений. И, увидев результаты, вы поймете, что ваша версия iOS / iphoneos SDK зависит от изменения настройки инструмента командной строки (xcodebuild) в вашем Xcode.

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

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

12 голосов
/ 30 сентября 2016

Кажется, что 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
12 голосов
/ 27 июня 2011

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

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

2 голосов
/ 29 июля 2017

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

от Apple:

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

2 голосов
/ 26 мая 2015

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

0 голосов
/ 14 июня 2017

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

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

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

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

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

0 голосов
/ 15 апреля 2017

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

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