Czy mogę zainstalować wiele wersji Xcode?

175

Czy można mieć jednocześnie zainstalowaną więcej niż jedną wersję Xcode?

Jeśli tak, opublikuj wszelkie wskazówki, wskazówki lub potencjalne problemy, na które należy uważać.

EDYTOWAĆ:

Powodem, dla którego chcę zainstalować wiele wersji, jest wypróbowanie nowej wersji beta sdk, ale jeśli nowy Xcode zawiera błędy, chcę móc używać starszej wersji w moich istniejących projektach.

Dana Holt
źródło
3
Po zainstalowaniu obu XCodes masz niestandardową ikonę dla XCode4, aby łatwo je rozróżnić. Oto niestandardowa ikona - qdevarena.blogspot.com/2011/04/xcode-4-custom-icon.html
Rajavanya Subramaniyan
Oto ikona, którą zrobiłem szybko dla Xcode Beta 4.2 ...:! wprowadź opis obrazu tutaj plik .png --- < dl.dropbox.com/u/7124872/XcodeBeta.png?dl=1 > plik .icns --- < dl.dropbox.com/u/7124872/Xcode.icns? dl = 1 > Ciesz się.
Hubert Kunnemeyer
link do wszystkich wersji Xcode stackoverflow.com/questions/10335747/…
Honey
Zobacz moją odpowiedź na znacznie łatwiejszy sposób robienia tego, o co prosisz. Ponadto, jeśli uważasz, że to lepszy sposób, rozważ oznaczenie mojej odpowiedzi jako rozwiązania Twojego problemu. Myślę, że to zdecydowanie lepsze rozwiązanie.
cseder

Odpowiedzi:

95

Tak, możesz zainstalować wiele wersji Xcode. Zainstalują się w oddzielnych katalogach. Odkryłem, że najlepszą praktyką jest najpierw zainstalowanie wersji dostarczonej z komputerem Mac, a następnie zainstalowanie pobranych wersji, ale prawdopodobnie nie robi to dużej różnicy. Więcej szczegółów można znaleźć na http://developer.apple.com/documentation/Xcode/Conceptual/XcodeCoexistence/Contents/Resources/en.lproj/Details/Details.html tej stronie Apple Developer Connection. <- Strona już nie istnieje!

MattK
źródło
13
Aby wyjaśnić, będą instalować się w oddzielnych katalogach tylko wtedy, gdy wyraźnie określisz to w czasie instalacji. Generalnie będziesz chciał odznaczyć wszystkie funkcje poza podstawowymi narzędziami xcode, ponieważ inne nie pozwalają na zmianę katalogu instalacyjnego.
Paul Du Bois,
7
Link jest nieaktualny. Stąd można pobrać stare wersje , ale nie ma żadnych szczegółów, jak je skonfigurować lub zainstalować = (.
GeneralMike
1
Nie miałem okazji spróbować tego z ostatnim Xcode. Zastanawiam się, czy zmieniło się to po dodaniu Xcode do App Store?
MattK
4
Ten link może wam pomóc: iosdevelopertips.com/xcode/ ...
King-Wizard
Niedawno zaktualizowałem do Xcode 7 i straciłem możliwość tworzenia i testowania w systemie iOS 7.1. Ściągnąłem Xcode 6.4 z developer.apple.com/downloads/index.action (zgodnie z wcześniejszymi komentarzami) i skopiowałem Xcode.app do /Applications/Xcode-6.4, z którego działa bardzo szczęśliwie (zgodnie z informacjami podanymi w iosdevelopertips.com / xcode /… , ponownie jak w poprzednich komentarzach)
Martyn Davis
43

Łatwo jest mieć wiele instalacji Xcode.

W instalatorze znajduje się menu rozwijane dla lokalizacji ... wystarczy wybrać nową lokalizację podczas instalowania wersji beta.

Te instrukcje od ewangelisty narzędzi programistycznych Apple zawierają wszystkie szczegóły (wymagana nazwa użytkownika / hasło programisty Apple): https://devforums.apple.com/message/40847#40847

Następnie weź niestandardową ikonę używanej wersji Beta XCode, aby móc je odróżnić w doku: http://iphonedevelopment.blogspot.com/2009/03/multiple-developer-tool-installs.html

Jim Rhoades
źródło
Ten link może wam również pomóc: iosdevelopertips.com/xcode/ ...
King-Wizard
36

Czy mogę zainstalować wiele wersji Xcode?

Rozwiązanie:
Właściwie tak wiele z powyższych odpowiedzi mówi, że jest to możliwe. Nawet zgodnie z poniższym blogiem Oracle Mobile Platform można zainstalować więcej niż jeden kod XCodes na tym samym komputerze Mac. Powód, dla którego musisz to zrobić, może się różnić w zależności od Ciebie.

Scenariusz:
na razie mogłeś zainstalować tylko jedną wersję XCode. Przeważnie to jedno wydanie za najnowszą wersją XCode, która jest dostępna w App Store (mój mam Xcode 6.3.2 i musiałem go zachować, a także zainstalować Xcode 7, który jest dostępny w App Store).

Dla Ex: -

Już zainstalowałeś XCode 6.x, a App Store ma XCode 7 już podane przez App Store. Z jakiegoś powodu musisz zachować starszą wersję XCode 6.x (ponieważ wiesz, że jest stabilna od jakiegoś czasu), a także musisz zainstalować i wypróbować nowy XCode 7

Więc pytanie numer jeden może brzmieć, jak i gdzie możesz pobrać instalowalny plik DMG dla systemu Mac OS X dla XCode 7 (lub może być, jeśli chcesz wypróbować starszą wersję XCode)? Ok, tutaj jest bezpośredni link do pobrania Apple (być może będziesz musiał zalogować się na konto programisty Apple przed poprawnym wyświetleniem tego linku), albo poniżej znajduje się link do pytań i odpowiedzi StackOverflow, który daje odpowiedź, skąd pobrać pliki DMG dla IDE XCode .

Więc teraz załóżmy, że otrzymałeś którykolwiek z plików DMG dla wersji XCode, którą chcesz zainstalować jako drugorzędną?

Kroki:
Postępuj zgodnie z instrukcjami podanymi poniżej, które otrzymałem z powyższego pierwszego linku na blogu Oracles Mobile Platform.

  1. Zamknij Xcode, jeśli jest uruchomiony
  2. Zmień nazwę /Applications/Xcode.appna/Applications/Xcode_6.x.app
  3. Po wyświetleniu monitu wprowadź hasło administratora
  4. Kliknij dwukrotnie plik DMG wymaganego, wstępnie pobranego Xcode i zainstaluj go
  5. Po zainstalowaniu, przed uruchomieniem, zmień nowy, /Applications/Xcode.appktóry został właśnie zainstalowany (zgodnie z moim powyższym przykładem)/Application/Xcode_7.app

Uwaga*:

[Proszę cierpliwie czytać tę sekcję, aż do następnej notatki] Jeśli masz zainstalowane dwie wersje Xcode, na Twojej stacji roboczej są również zainstalowane dwie wersje narzędzia wiersza poleceń ( xcodebuild). Pytanie brzmi, czego użyje twoje polecenie kompilacji Terminal i Xcode podczas budowania aplikacji na iOS. Ponieważ wraz z narzędziem wiersza poleceń pakiet SDK systemu iOS używany do tworzenia aplikacji zależy również od platformy.

Moje doświadczenie było takie, że miałem dwie wersje Xcode. Xcode 10 (stary z iOS12.0 - iphoneos12.0) i Xcode 10.1 (nowy z iOS 12.1 - iphoneos12.1). Więc oczywiście ustawienia narzędzia wiersza poleceń zostały wybrane do używania xcodebuildnarzędzia ze starej aplikacji. Musiałem ręcznie wybrać go w oknie preferencji Xcode.

Gdzie ustawić narzędzie wiersza poleceń w oknie preferencji Xcode?

  • Wybierz Locationskartę i tam możesz wybrać wszystkie zainstalowane wersje narzędzi wiersza polecenia (czyli xcodebuild).

Jak dowiedzieć się, która wersja pakietu SDK systemu iOS jest używana do tworzenia aplikacji na iOS?

  • W przypadku problemu z terminalem następujące polecenie: $> xcodebuild -showsdks
  • Powyższe polecenie powinno wydrukować wszystkie szczegóły zestawu SDK, których bieżąca konfiguracja Xcode używa do tworzenia aplikacji. Widząc wyniki, zrozumiesz, że wersja zestawu SDK systemu iOS / iphoneos zależy od zmiany xcodebuildustawienia narzędzia wiersza polecenia ( ) w Xcode.

Uwaga **:
Powyższe łącze do pobierania plików Apple i łącza do postów na blogu Oracles MPF mogą ulec zmianie i / lub być niedostępne w przyszłości.

Mam więc nadzieję, że moja odpowiedź może być pomocna dla kogoś innego!
Twoje zdrowie!

Randika Vishman
źródło
@Tinkerbell Dobrze wiedzieć! : D Może być w moim komputerze. Mogłem mieć konflikt konfiguracji. Dzięki!
Randika Vishman
32

Możesz użyć polecenia „xcode-select” w terminalu, aby przełączać się między różnymi wersjami Xcode w zainstalowanych folderach.

Eric Chan
źródło
10
Pomogło mi to, na przykład uruchom, sudo xcode-select -s /Applications/Xcode-beta.app/Contents/Developer/aby użyć wersji beta xcode. Dzięki!
Christian Landgren,
Dziękuję ... to najlepsza odpowiedź!
Carlos Galeano,
13

Wygląda na to, że Xcode naprawdę lubi być w folderze Aplikacje i nazywać się Xcode, szczególnie podczas używania xcodebuild(na przykład podczas budowania dla Kartaginy) - i xcode-selectnie zawsze wydaje się, że go wycina.

Mam projekt klienta, który nadal używa Swift 2.2 i utknąłem na Xcode 7 i używam Xcode 8 do wszystkiego innego.

Tak więc w moim folderze Aplikacje mam Xcode 7 (zmieniono nazwę na Xcode_7 ) i Xcode 8 (zmieniono nazwę na Xcode_8 ). Następnie zmieniam nazwę tego, którego potrzebuję, po prostu Xcode i z powrotem po zakończeniu. To boli piłka, ale wydaje się, że działa.

Ten skrypt powłoki trochę to upraszcza…

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
Ashley Mills
źródło
1
Czy równoległe uruchamianie Xcode 8 i 7 powoduje jakieś problemy?
nnrales
Nie miałem żadnych problemów, o ile pamiętam, aby za każdym razem zmieniać nazwę odpowiedniej wersji na Xcode.app.
Ashley Mills
Dzięki za rozwiązanie i poręczny skrypt. Nawiasem mówiąc, musiałem tak poprzedzać sudoostatnią linię, sudo xcode-select --switch Xcode.appaby część przełączająca działała.
Isuru,
1
Korzystanie xcodebuildz określonej wersji Xcode nie wymaga zmiany domyślnej wersji Xcode w całym systemie. Ustawienie zmiennej środowiskowej DEVELOPER_DIR przed użyciem xcodebuildwystarczy: export DEVELOPER_DIR="/Applications/Xcode-9.3.app/Contents/Developer".
Rein Spijkerman
12

Zauważ, że jeśli użyjesz xcodebuildnarzędzia wiersza poleceń, ostatnia zainstalowana wersja Xcode stanie się wersją domyślną. (Dowiązanie symboliczne jest instalowane w / usr / bin.) Aby użyć programu xcodebuilddla innych wersji Xcode, musisz użyć wersji z (xcode_install_directory)/usr/binkatalogu.

uwaga Aby przełączać się między różnymi wersjami narzędzi wiersza polecenia Xcode, użyj xcode-selectnarzędzia wspomnianego przez innych komentatorów.

Thomas W.
źródło
4

Zaczynając od Xcode 9 , beta Xcode jest oznaczona jako „Xcode-beta.app” i została zaprojektowana do współdziałania z wersją produkcyjną. Informacje można znaleźć w uwagach do wydania Xcode tutaj . (Nie używam bezpośredniego linku, ponieważ często się psuje).

Od Apple:

Xcode 9 beta 4 może współistnieć z poprzednimi wersjami Xcode. Wstępne wersje Xcode są udostępniane na stronie developer.apple.com, spakowane w skompresowanym pliku XIP. Aby zainstalować Xcode w okresie beta, pobierz plik XIP, kliknij dwukrotnie plik, aby go rozwinąć, a następnie przeciągnij Xcode-beta.app do folderu Aplikacje

bauerMusic
źródło
Słowo ostrzeżenia: wszystkie moje symulatory Xcode 8 zniknęły i nie mogę dodać nowych. Od teraz to wszystko Xcode 9 dla mnie (lub boleśnie usuwając wszystko, co zepsuło Xcode 9 podczas instalacji). YMMV.
Sebastian
@Sebastian Myślę, że moje są w porządku (używam Xcode 8, ale miałem 9 uruchomionych wcześniej). Nadal mam opcję (Xcode> Okno> Urządzenia), aby dodać inne symulatory. Warto otworzyć nowy temat, jeśli uda nam się to zweryfikować. Czy możesz dodać starsze symulatory?
bauerMusic
inny mój przyjaciel potwierdził, że to też działa dla niego. Więc prawdopodobnie coś jest zepsute w moim systemie. Więc myślę, że to tylko opowieść o tym, że "rzeczy mogą pójść nie tak, jeśli coś zmienisz" ;-) (i tak się stanie, jeśli tego nie zrobisz)
Sebastian
@Sebastian Czy możesz dodać je ponownie z „Urządzeń”?
bauerMusic
Wczoraj nie mogłem („[...] nie mogę dodawać nowych”), przycisk „Utwórz” w oknie „Dodaj symulator” nic nie zrobił. Jednak właśnie ponownie otworzyłem mój już porzucony Xcode 8 i wszystkie symulatory, które próbowałem stworzyć wczoraj, działały. Mogę też dodać nowe. @bauerMusic, dzięki za popchnięcie mnie do ponownego sprawdzenia.
Sebastian,
2

Aby zainstalować wiele instancji Xcode, możesz umieścić je w różnych folderach, na przykład /Developer5.0.2/Xcode, ale aby używać ich w środowisku CI lub kompilacji (wiersz poleceń), musisz skonfigurować pewne zmienne środowiskowe podczas kompilacji. Więcej instrukcji znajdziesz tutaj . Więc działa nie tylko z wersją beta i świeżą wersją, ale działa również z naprawdę starymi wersjami, możesz potrzebować go do użycia z wtyczkami Marmalade lub Unity, które nie obsługują jeszcze najnowszych wersji Xcode (czasami to się zdarza).

fleurdeviande
źródło
2

Zainstaluj wiele wersji Xcode za pomocą Xcode-Install Ruby Gem.

Cały proces możesz wykonać o wiele łatwiej, jeśli użyjesz RubyGem xcode-install .

Jeśli masz już działającą instalację Xcode CommandLineTools i Ruby (sugerowałbym użycie Homebrew do instalacji Ruby), ale myślę, że działa z Ruby dostarczonym przez macOS, jeśli zainstalujesz Gem albo używając sudo, albo jako instalacja użytkownika . (Szczegóły na stronie GitHub) Zasadniczo:

    $ 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

Aby wybrać wersję jako aktywną, uruchomisz:
$ xcversion select 8

Aby wybrać wersję jako aktywną i zmienić łącze symboliczne w / Applications / Xcode, uruchomisz:
$ xcversion select 8 --symlink

xcode-install może również zarządzać lokalnymi symulatorami za pomocą polecenia simulators.

Przeczytaj instrukcje na stronie projektu GitHub, aby uzyskać więcej informacji.

cseder
źródło
0
  1. Najpierw usuń bieżącą instalację Xcode z komputera. Prawdopodobnie możesz pominąć ten krok, ale chciałem zacząć od nowa. Plus - Xcode zachowywał się ostatnio trochę dziwnie, więc jest to dobra okazja, aby to zrobić.
  2. Zainstaluj Xcode 8 z App Store. Upewnij się, że pliki projektu ( .xcodeproj) i pliki obszaru roboczego ( .xcworkspace) można otwierać za pomocą nowej instalacji Xcode (pamiętaj, aby po wyświetleniu monitu wybrać opcję Później).
  3. Pobierz plik dmg Xcode 7.3.1 ze strony Apple. Dwukrotnie dotknij nowo pobranego pliku dmg, aby uzyskać standardowe „Przeciągnij, aby zainstalować Xcode w folderze Aplikacje”. Nie rób tego. Zamiast tego przeciągnij ikonę Xcode na pulpit. Zmień nazwę pliku na Xcode 7.3.1. Teraz przeciągnij go do folderu Aplikacje.

Teraz masz dwie wersje Xcode zainstalowane na komputerze. Xcode 7.3.1 i Xcode 8.

Szczegóły: Zainstaluj Xcode 7 i Xcode 8 obok siebie

katwal-Dipak
źródło
0

Niezależnie od ścieżki porad, którą wybierzesz, wykonaj kopię folderu projektu i zmień nazwę najbardziej zewnętrznego, aby odzwierciedlić wersję XCode, w której jest otwierany. Twój wybór, czy chcesz zaktualizować składnię, czy nie, ale główny powód cały ten bovver to twoja storyboard zostanie zmieniona po prostu patrząc. Może zostać rozwiązany do czasu, gdy nowy czytelnik zetknie się z tym w przyszłości lub

aremvee
źródło
0

Wszystkie aktualizacje nowej wersji xcode będą dostępne w appstore, jeśli zainstalowałeś wersję z appstore. Jeśli po prostu wkleisz pobraną wersję, sklep z aplikacjami wyświetli komunikat Install not update. Dlatego zachowaj stabilną wersję pobraną ze sklepu Appstore w folderze aplikacji.

Aby wypróbować nowe wersje beta, zwykle umieszczam je na osobnym dysku, rozpakuję i tam instaluję. Pozwoli to uniknąć nieporozumień podczas pracy na stabilnej wersji.

Aby uniknąć nieporozumień, możesz zachować tylko stabilną wersję w swoim doku i otworzyć wersję beta z reflektora (Command + Space). Spowoduje to tymczasowe umieszczenie wersji beta w stacji dokującej. Ale zapewni to, że nie zmienisz przypadkowo projektu klienta w wersji beta.

Najważniejsze: - Praca nad tym samym projektem na dwóch różnych xcode może spowodować niepożądane rezultaty. Jakby był błąd w konstruktorze interfejsu, który został wprowadzony w pewnej wersji xcode. Co przełamało ograniczenia. Naprawiono go ponownie w następnym.

Śledź informacje o wersji, aby dokładnie wiedzieć, jakie są dodatkowe funkcje i jakie są znane problemy.

Ashish Pisey
źródło