Você pode executar o Xcode no Linux?


186

Você pode executar o Xcode no Linux? O Mac OS X foi baseado no BSD Unix, então é possível?

Pelo que ouvi, há um plug-in MonoDevelop que possui um simulador de iPhone.


2
Eu acho que isso é o que você está procurando a Apple lançou rápida para substituir o Xcode para linux ios devs cnet.com/news/apple-introduces-swift-2
PauAI

Eles lançaram o rápido, não o Xcode.
Antzi

Ainda não é bom. Só que o idioma é de código aberto e publicado no Linux junto com uma biblioteca padrão. Não se destina a criar aplicativos iOS ou substituir o Xcode. Mais gosto de criar aplicativos Linux com rapidez. Obviamente, isso simplificaria o trabalho das pessoas que desejam criar um compilador cruzado.
Antzi

Respostas:


399

A cadeia de ferramentas de baixo nível do Xcode (a família de compiladores gcc, o depurador gdb etc.) é toda de código aberto e comum às plataformas Unix e Linux. Mas o IDE - o editor, o gerenciamento de projetos, a indexação, a navegação, o sistema de compilação, o depurador gráfico, a modelagem visual de dados, o sistema SCM, a refatoração, os instantâneos do projeto etc. - é um aplicativo do Mac OS X Cocoa e não é portátil.


76
+1 excelente avaria de curta duração que é comum eo que é mac centric
curtisk

11
Sem mencionar que executá-lo em outro sistema operacional provavelmente quebra seu EULA. A Apple é particularmente avarenta quando se trata de contratos de licença.
jpaugh

1
Isso não está 100% correto (ou atualizado). O GCC padrão não pode produzir arquivos de objeto Mach-O, mas Clang pode. Mas então você ainda precisa do ld da Apple para vincular o binário final. A Darling pode executar a cadeia de ferramentas Xcode original no Linux (mas não o Xcode IDE).
LubosD

38

Ninguém sugeriu o Vagrant ainda, então aqui está, caixa do Vagrant para OSX

vagrant init https://vagrant-osx.nyc3.digitaloceanspaces.com/osx-sierra-0.3.1.box
vagrant up

e você tem uma máquina virtual MACOS. Mas de acordo com o EULA da Apple, você ainda precisa executá-lo no hardware do MacOS: D Mas em qualquer lugar, aqui está um de todos os nerds que limparam o MacOS e instalaram o Ubuntu: D

Infelizmente, você não pode executar os editores de dentro usando a X-forwardingopção SSH .


3
Você precisa executar os editores da GUI para criar aplicativos com o Xcode ou isso pode ser feito a partir da CLI?
Jose V

26

Eu realmente queria comentar, não responder. Mas, para ser mais preciso, o OSX não é baseado no BSD, é uma evolução do NeXTStep. O sistema operacional NeXTStep utiliza o kernel Mach desenvolvido pela CMU. Ele foi originalmente projetado como um MicroKernel, mas devido a restrições de desempenho, eles decidiram que precisavam incluir a parte Unix da API no próprio kernel e, portanto, um "servidor" compatível com BSD (originalmente destinado a processar solicitações de compatibilidade com BSD) mensagens do kernel) foi movido para o kernel, tornando-o um kernel monolítico. Pode ser compatível com BSD na API de programação, mas NÃO é BSD.

O restante do sistema operacional envolveu o ObjectiveC (sob acordos entre Stepstone e Richard Stallman do GNU / GCC) com uma GUI baseada em uma tecnologia chamada "Display Postscript" ... como um servidor X, mas com comandos postscript. O OS X alterou Exibir Postscript para Exibir PDF e aumentou em 1000 vezes os requisitos gerais de hardware (o NeXT pode ser executado em 8 a 16 MB, agora você precisa de GB).

Devido ao casamento próximo do GCC e do Objective C e NeXT, sua melhor aposta em executar o XCode nativamente no Linux seria fazer uma porta (se você conseguir se familiarizar com a fonte - boa sorte) utilizando as bibliotecas GNUStep. Originalmente projetado para compatibilidade com NextStep e OpenStep, ouvi dizer que agora eles são mais ou menos compatíveis com cacau, mas não brinco com nada disso há quase duas décadas. É claro que isso leva você até o ObjC, não o Swift, e não sei se a Apple vai usar o OpenSource.


9

Se você executar o VMware Player ou Workstation (ou talvez o VirtualBox, não tenho certeza se ele suporta o Mac OS X, mas sim) e, em seguida, o Mac OS X Server (o cliente não pode ser virtualizado legalmente). Obviamente, nesse caso, você está executando o XCode no OS X, mas sua máquina host pode ser o Linux.


5
É realmente possível executar o OS X dentro do VirtualBox. Eu corro 10.8 Mountain Lion dessa maneira. Você deve seguir um howto. Funciona quase na perfeição. Como sou dinamarquês, tive que criar meu próprio layout de teclado.
Kristian Spangsege

3
Mesmo o servidor só pode ser (legalmente) virtualizado apenas no hardware da Apple; No entanto, acho que seria legal rodar o Linux no hardware da Apple e depois o Mac OS X como convidado (embora não tenha certeza de que essa seja uma opção atraente). @ KristianSpangsege: fico feliz em saber que ele roda para você no VirtualBox ... Instalei cerca de 5 versões diferentes e todas foram muito lentas. Eu pensei que era um problema com todos os MacOSXs virtualizados até que eu mudei para o VMware ... quase nenhum problema por lá (ainda ocorre uma pequena lentidão ocasional).
johndodo


4

Eu acho que você precisa do MonoTouch (não é grátis!) Para esse plugin.

E não, não há como executar o Xcode no Linux.

Desculpe por todas as más notícias. :)


2

Não, você já ouviu falar do MonoTouch, que é um ambiente .NET / mono para desenvolvimento de iPhone. Mas você ainda precisa de um Mac e do iPhone SDK oficial. E o emulador é o oficial da apple, ele age como um IDE separado e permite que você não precise codificar no Objective C, em vez de codificar em c #

É um projeto interessante para dizer o mínimo ....

EDIT: aparentemente, você pode distribuir na App Store agora, desde o início não era possível ....



0

Se você quiser o XCode em outro sistema operacional, sugiro a computação em nuvem. Dessa forma, seu aplicativo está sendo desenvolvido em um Mac e pode ser enviado à App Store.



0

Era estranho que ninguém sugerisse KVM .

Ele fornecerá um desempenho quase nativo e é Linux embutido. Vá e confira.

você sentirá como se estivesse usando apenas mac e, em seguida, instale o Xcode lá, pode até optar por inicializar diretamente na OSX GUI em vez do Linux na inicialização


-2

O OSX é baseado no BSD , não no Linux. Você não pode executar o Xcode em uma máquina Linux.


1
Não tem nada a ver com o kernel que está sendo executado. E MacOS dificilmente é "baseado em BSD", ver a minha resposta acima para a história
Evan Langlois
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.