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.