Posso ter várias versões do Xcode instaladas?

175

É possível ter mais de uma versão do Xcode instalada ao mesmo tempo?

Em caso afirmativo, poste qualquer dica, truque ou possível problema a ser observado.

EDITAR:

O motivo pelo qual desejo instalar várias versões é experimentar o novo sdk beta, mas se o novo Xcode estiver com erros, desejo poder usar a versão mais antiga para meus projetos existentes.

Dana Holt
fonte
3
Depois de instalar os dois XCodes, você tem um ícone personalizado para o XCode4 para diferenciá-los facilmente. Aqui é um ícone personalizado - qdevarena.blogspot.com/2011/04/xcode-4-custom-icon.html
Rajavanya Subramaniyan
Aqui está um ícone que eu fiz rápido para o Xcode Beta 4.2 ...:! insira a descrição da imagem aqui .png file --- < dl.dropbox.com/u/7124872/XcodeBeta.png?dl=1 > arquivo .icns --- < dl.dropbox.com/u/7124872/Xcode.icns? dl = 1 > Aproveite.
Hubert Kunnemeyer
link para todas as versões do Xcode stackoverflow.com/questions/10335747/…
Honey
Veja minha resposta para uma maneira muito mais fácil de fazer o que você pede. Além disso, se você acha que essa é uma maneira melhor, considere marcar minha resposta como a solução para o seu problema. Eu certamente acho que é uma solução muito superior.
cseder

Respostas:

95

Sim, você pode instalar várias versões do Xcode. Eles serão instalados em diretórios separados. Descobri que a melhor prática é instalar a versão que acompanha o seu Mac primeiro e depois instalar as versões baixadas, mas provavelmente não faz grande diferença. Consulte http://developer.apple.com/documentation/Xcode/Conceptual/XcodeCoexistence/Contents/Resources/en.lproj/Details/Details.html nesta página da Apple Developer Connection para obter muitos detalhes. <- Página não existe mais!

MattK
fonte
13
Para esclarecer, eles serão instalados em diretórios separados apenas se você o especificar explicitamente no momento da instalação. Além disso, você geralmente deseja desmarcar todos os recursos, além das ferramentas principais do xcode, porque os outros não permitem alterar o diretório de instalação.
Paul Du Bois
7
O link está desatualizado. Pode obter versões antigas daqui , mas não há detalhes sobre como configurá-las ou instalá-las = (.
GeneralMike
1
Não tive chance de tentar isso com um Xcode recente. Será que isso mudou com a adição do Xcode na App Store?
MattK
4
Este link pode ajudar vocês: iosdevelopertips.com/xcode/…
King-Wizard
Atualizei recentemente para o Xcode 7 e perdi a capacidade de criar e testar no iOS 7.1. Fiz o download do Xcode 6.4 em developer.apple.com/downloads/index.action (conforme comentários anteriores) e copiei o Xcode.app em /Applications/Xcode-6.4, a partir do qual ele roda muito feliz (conforme informações fornecidas em iosdevelopertips.com / xcode /… , novamente como nos comentários anteriores)
Martyn Davis
43

É fácil ter várias instalações do Xcode.

No instalador, há uma lista suspensa para o local ... você só precisa escolher um novo local ao instalar a versão beta.

Estas instruções de um evangelista da Apple dev tools têm todos os detalhes (é necessário o nome de usuário / senha do desenvolvedor da Apple): https://devforums.apple.com/message/40847#40847

Em seguida, escolha um ícone personalizado para a versão Beta do XCode que você está usando, para que você possa diferenciá-los no dock: http://iphonedevelopment.blogspot.com/2009/03/multiple-developer-tool-installs.html

Jim Rhoades
fonte
Este link também pode ajudar vocês: iosdevelopertips.com/xcode/…
King-Wizard
36

Posso ter várias versões do Xcode instaladas?

Solução:
Na verdade, como muitas das respostas acima dizem, é possível. Mesmo de acordo com o seguinte Blog do Oracle Mobile Platform , você pode instalar mais de um XCodes no mesmo Mac. A razão pela qual você precisa fazer isso pode variar de acordo com você.

Cenário:
Você pode ter instalado apenas uma versão do XCode por enquanto. Principalmente o lançamento da versão mais recente do XCode, disponível na App Store (eu tenho o Xcode 6.3.2 e eu precisava mantê-lo e também instalar o Xcode 7, disponível na App Store).

Para Ex: -

Você já instalou o XCode 6.xe a App Store já possui o XCode 7 fornecido pela App Store. Por qualquer motivo, você precisa manter o XCode 6.x mais antigo (como você sabe que está estável há algum tempo) e também instalar e experimentar o novo XCode 7.

Portanto, a pergunta número um pode ser: como e onde você pode baixar o arquivo DMG instalável do Mac OS X para o XCode 7 (ou pode ser se você quiser experimentar uma versão mais antiga do XCode)? Ok, aqui está o link direto para downloads da apple (você pode precisar fazer login na conta Apple Developer antes de visualizar esse link corretamente) ou o seguinte é um link de Perguntas e respostas sobre StackOverflow, que fornece a resposta para onde baixar arquivos DMG para IDEs XCode .

Então agora vamos supor que você tenha obtido algum arquivo DMG para a versão XCode que você precisa instalar secundariamente?

Etapas:
Siga as etapas abaixo, obtidas no primeiro link acima fornecido no Blog da Plataforma Móvel da Oracles.

  1. Feche o Xcode se estiver executando
  2. Renomeie /Applications/Xcode.apppara/Applications/Xcode_6.x.app
  3. Digite a senha de administrador quando solicitado
  4. Clique duas vezes no arquivo DMG do seu Xcode pré-baixado e necessário e instale-o
  5. Depois de instalado, antes de executá-lo, altere o novo /Applications/Xcode.appque acabou de ser instalado (de acordo com o exemplo acima)/Application/Xcode_7.app

Nota*:

[Leia pacientemente esta seção até a próxima Nota] Quando você tem duas versões do Xcode instaladas, sua estação de trabalho também possui duas versões da Command Line Tool ( xcodebuild). A questão é a que seu comando de compilação Terminal e Xcode usará quando você estiver criando seu aplicativo para iOS. Porque, juntamente com a Ferramenta de Linha de Comando, o iOS SDK que está sendo usado para criar seu aplicativo também depende.

Minha experiência foi que eu tive duas versões do Xcode. Xcode 10 (antigo com iOS12.0 - iphoneos12.0) e Xcode 10.1 (novo com iOS 12.1 - iphoneos12.1). Então, obviamente, as configurações da Command Line Tool foram selecionadas para usar a xcodebuildferramenta do aplicativo Antigo. Eu tive que selecioná-lo manualmente na janela de preferências do Xcode.

Onde definir a ferramenta de linha de comando na janela de preferências do Xcode?

  • Selecione a Locationsguia e, lá, você pode selecionar todas as versões instaladas do Command Line Tools (que é xcodebuild).

Como descobrir qual versão do iOS SDK está sendo usada para criar seu aplicativo para iOS?

  • Em seu Terminal, execute o seguinte comando: $> xcodebuild -showsdks
  • O comando acima deve imprimir todos os detalhes do SDK que sua configuração atual do Xcode usa para criar seus aplicativos. Ao ver os resultados, você entenderá que a versão do seu SDK para iOS / iPhone depende da alteração da xcodebuildconfiguração da Command Line Tool ( ) no seu Xcode.

Nota **: O
link acima fornecido para downloads da Apple e os links de postagem no blog do Oracles MPF podem mudar e / ou indisponíveis no futuro.

Então, espero que minha resposta seja útil para alguém por aí!
Felicidades!

Randika Vishman
fonte
@Tinkerbell É bom saber! : D Pode estar na minha máquina, talvez eu tenha uma configuração conflitante. Obrigado!
Randika Vishman
32

Você pode usar o comando "xcode-select" no terminal para alternar entre as diferentes versões do Xcode nas pastas instaladas.

Eric Chan
fonte
10
Isso me ajudou a correr sudo xcode-select -s /Applications/Xcode-beta.app/Contents/Developer/para usar a versão beta do xcode, por exemplo. Obrigado!
Christian Landgren
Obrigado ... esta é a melhor resposta!
Carlos Galeano
13

Parece que o Xcode realmente gosta de estar na pasta Aplicativos e se chama Xcode, especialmente ao usar xcodebuild(ao criar para Carthage, por exemplo) - e xcode-selectnem sempre parece cortá-lo.

Eu tenho um projeto de cliente que ainda está usando o Swift 2.2 e estou preso no Xcode 7 por isso e usando o Xcode 8 para qualquer outra coisa.

Portanto, na minha pasta Aplicativos, tenho o Xcode 7 (renomeado para Xcode_7 ) e o Xcode 8 (renomeado para Xcode_8 ). Em seguida, renomeio o que for necessário para simplesmente Xcode e, novamente, quando terminar. É uma dor de bola, mas parece funcionar.

Este script de shell simplifica um pouco…

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
fonte
1
A execução do Xcode 8 e 7 em paralelo está causando problemas para você?
nnrales 30/09/16
Não tive problemas, desde que me lembre de renomear a versão apropriada para Xcode.app toda vez.
Ashley Mills
Obrigado pela solução e pelo script acessível. A propósito, eu tive que acrescentar sudoà última linha dessa maneira sudo xcode-select --switch Xcode.apppara que a parte de comutação funcionasse.
Isuru 22/10
1
O uso xcodebuildde uma versão específica do Xcode não requer uma alteração em todo o sistema da versão padrão do Xcode. Definir a variável de ambiente DEVELOPER_DIR antes de usar xcodebuildé suficiente: export DEVELOPER_DIR="/Applications/Xcode-9.3.app/Contents/Developer".
Rein Spijkerman
12

Observe que, se você usar a xcodebuildferramenta de linha de comando, a última versão do Xcode instalada se tornará a versão padrão. (Um link simbólico está instalado em / usr / bin.) Para usar o xcodebuildpara as outras versões do Xcode, você precisará usar a versão no (xcode_install_directory)/usr/bindiretório

note Observação Para alternar entre versões diferentes das ferramentas de linha de comando do Xcode, use a xcode-selectferramenta mencionada por outros comentaristas.

ThomasW
fonte
4

Observando o Xcode 9 , o beta Xcode é rotulado como 'Xcode-beta.app' e foi projetado para viver lado a lado com a versão de produção. Informações podem ser encontradas nas notas de versão do Xcode aqui . (Não está usando o link direto porque quebra com frequência).

Da Apple:

O Xcode 9 beta 4 pode coexistir com versões anteriores do Xcode. As versões de pré-lançamento do Xcode são disponibilizadas em developer.apple.com, compactadas em um arquivo XIP compactado. Para instalar o Xcode durante o período beta, baixe o arquivo XIP, clique duas vezes no arquivo para expandi-lo no lugar e arraste Xcode-beta.app para a pasta Aplicativos

bauerMusic
fonte
Uma palavra de aviso: todos os meus simuladores do Xcode 8 desapareceram e não posso adicionar novos. É tudo o Xcode 9 daqui em diante para mim (ou a remoção dolorosa de tudo o que o Xcode 9 estragou durante a instalação). YMMV.
Sebastian
@ Sebastian Eu acho que os meus estão ok (usando o Xcode 8, mas tinha 9 funcionando antes). Ainda tenho a opção (Xcode> Janela> Dispositivos) para adicionar outros simuladores. Pode valer a pena abrir um novo tópico, se pudermos verificar isso. Você pode adicionar simuladores mais antigos?
bauerMusic
outro amigo confirmou que também está funcionando para ele. Então, provavelmente, algo está ferrado no meu sistema. Então eu acho que este é apenas um "coisas pode dar errado se você mudar alguma coisa" conto ;-) (e eles se não o fizer)
Sebastian
@Sebastian Você pode adicioná-los novamente a partir de 'Dispositivos'?
precisa saber é o seguinte
Ontem não consegui ("[...] não consigo adicionar novos"), o botão 'Criar' na caixa de diálogo "Adicionar simulador" não fez nada. No entanto, acabei de reabrir o meu Xcode 8, já abandonado, e havia todos os simuladores que tentei criar ontem, todos funcionando. Eu também posso adicionar novos. @bauerMusic, obrigado por me empurrar para verificar novamente.
Sebastian
2

Para ter várias instâncias do Xcode instaladas, você pode colocá-las em pastas diferentes, por exemplo /Developer5.0.2/Xcode, mas para usá-las no CI ou no ambiente de construção (linha de comando), é necessário configurar algumas variáveis ​​de ambiente durante a construção. Você pode obter mais instruções aqui . Portanto, ele funciona não apenas com versões beta e novas, mas também com versões realmente antigas; talvez seja necessário usá-lo com os plug-ins Marmalade ou Unity, que ainda não são compatíveis com as versões mais recentes do Xcode (algumas vezes acontece).

fleurdeviande
fonte
2

Instalar várias versões do Xcode usando a Ruby Gem do Xcode-Install

Você pode fazer todo esse processo com muito mais facilidade se usar o RubyGem da xcode-install .

Se você já possui uma instalação funcional do Xcode CommandLineTools e Ruby (eu sugiro usar o Homebrew para instalar o Ruby), mas acho que funciona com o Ruby fornecido pelo macOS, se você instalar o Gem usando o sudo ou como uma instalação do usuário . (Detalhes na página do GitHub) Basicamente:

    $ 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

Para selecionar uma versão como ativa, você executará:
$ xcversion select 8

Para selecionar uma versão como ativa e alterar o link simbólico em / Applications / Xcode, você executará:
$ xcversion select 8 --symlink

O xcode-install também pode gerenciar seus simuladores locais usando o comando simulators.

Leia as instruções na página Projeto GitHub para obter mais informações.

cseder
fonte
0
  1. Primeiro, remova a instalação atual do Xcode da sua máquina. Você provavelmente pode pular esta etapa, mas eu queria começar de novo. Além disso, o Xcode estava se comportando um pouco estranho ultimamente, então esta é uma boa oportunidade para fazer isso.
  2. Instale o Xcode 8 na App Store. Verifique se os arquivos do projeto ( .xcodeproj) e os arquivos da área de trabalho ( .xcworkspace) podem ser abertos com a nova instalação do Xcode (lembre-se de selecionar a opção Mais tarde sempre que solicitado).
  3. Faça o download do arquivo Xcode 7.3.1 dmg da Apple. Toque duas vezes no arquivo dmg recém-baixado para obter o padrão “Arraste para instalar o Xcode na sua pasta Aplicativos”. Não faça isso. Em vez disso, arraste o ícone do Xcode para a área de trabalho. Mude o nome do arquivo para Xcode 7.3.1. Agora arraste-o para a pasta Aplicativos.

Agora você tem duas versões do Xcode instaladas na sua máquina. Xcode 7.3.1 e Xcode 8.

Detalhes: Instale o Xcode 7 e o Xcode 8 lado a lado

Katwal-Dipak
fonte
0

Qualquer que seja o caminho do conselho, faça uma cópia da pasta do projeto e renomeie a pasta externa para refletir em qual versão do XCode está sendo aberta. Sua escolha é se você deseja atualizar ou não a sintaxe, mas o principal motivo para isso. todo esse detalhe é o seu storyboard será alterado apenas olhando. Pode ser resolvido quando um novo leitor se deparar com isso no futuro, ou

aremvee
fonte
0

Todas as atualizações para a nova versão do xcode estarão disponíveis na appstore se você instalou a versão na appstore. Se você acabou de colar a versão baixada, o appstore mostrará a instalação não atualizada. Portanto, mantenha a versão estável baixada da appstore na sua pasta de aplicativos.

Para experimentar novas versões beta, costumo colocá-lo em uma unidade separada, descompactar e instalar nele. Isso evitará confusão enquanto estiver trabalhando na versão estável.

Para evitar confusão, você pode manter apenas a versão estável no seu dock e abrir a versão beta no Spotlight (Command + Space). Isso colocará o beta temporariamente no dock. Mas garantirá que você não edite acidentalmente o projeto do seu cliente na versão beta.

Mais importante: - Trabalhar no mesmo projeto em dois xcode diferentes pode criar alguns resultados indesejados. Como se houvesse um erro no construtor de interface que foi introduzido em certa versão do xcode. O que quebrou as restrições. Foi consertado novamente no próximo.

Acompanhe as notas de versão para saber exatamente quais são os recursos adicionais e quais são os problemas conhecidos.

Ashish Pisey
fonte