Para fornecer uma resposta diferente, estou executando o OS X e o Xcode em uma máquina virtualizada (VMware) no Linux. A CPU é um Core2Quad (Q8800) e é perfeitamente rápida. Encontrei uma VM pré-construída on-line (deixarei para você descobrir) O desenvolvimento do Xcode / iPhone funciona perfeitamente, assim como a depuração via USB no próprio telefone.
Na verdade, isso me surpreendeu muito - mas não tive nenhum problema.
Então, usando sua abordagem, você pode assinar e distribuir no iTunes?
Eldelshell
43
Sim - sem problemas. Você está usando o XCode, a assinatura funciona bem, agora eu tenho um aplicativo de produção na loja, enviado pela VM. Não vou nomear por razões óbvias.
Chaos em Caos
18
@Chaos: Você poderia postar links para o que exatamente você usou para executar sua instalação?
glicanos
4
Uma VM pré-construída pode ser confiável? Eu quero dizer Softwares culpados incorporados, backdoors ...
DummyBeginner /
2
Está bem. Minha opinião sobre isso. Depois de ter desenvolvido o aplicativo, você pode usar este serviço para publicar macincloud.com
Fabrizio Bertoglio
75
A resposta para isso realmente depende se você deseja ou não desenvolver aplicativos que são distribuídos na loja do iPhone. Se não o fizer, e não se importe em desenvolver para o público "desbloqueado" do iPhone - é possível desenvolver a partir do Linux.
Consulte a página deste capítulo para obter um guia abrangente (se um pouco complexo) sobre o que fazer:
Parece ser verdade até agora. O único SDK disponível na Apple é direcionado apenas ao ambiente MacOS. Fiquei chateado com isso, mas estou pensando em comprar um mac agora, apenas para desenvolver o iPhone. Eu realmente não gosto do que eles estão fazendo, e espero que um bom SDK seja lançado para outros ambientes, como Linux e Windows.
A Apple lançou recentemente um kit de desenvolvimento de software (SDK) para o iPhone, mas se você esperava portar ou desenvolver um software de código aberto original com ele, as notícias não são boas. As condições de assinatura de código e não divulgação tornam o software livre um impedimento.
O SDK em si é um download gratuito, com o qual você pode escrever programas e executá-los em um simulador de software. Mas, para realmente lançar o software que você escreveu, você deve se inscrever no iPhone Developer Program - uma etapa separada do download do SDK e uma que requer a aprovação da Apple.
Eu acho que é bastante elitista para eles pensarem que apenas os usuários de macos são bons o suficiente para escrever programas para seus telefones, e o fato de você precisar comprar uma licença de US $ 100 se quiser publicar suas coisas realmente torna mais difícil para o programador amador. Porém, se é isso que você precisa fazer, estou pensando em pular os aros deles; Eu realmente gostaria de desenvolver algumas coisas no meu iPhone.
Como já foi dito antes, não acho que seja elitismo culpado aqui. O XCode e todas as demais ferramentas de desenvolvimento (com exceção de itens de baixo nível, como o GCC) são gravados no Cocoa, assim como todas as estruturas do iPhone. Eles precisariam portar tudo isso para outros sistemas operacionais primeiro. Essa não é uma tarefa pequena.
Brad Larson
24
Deixe-me saber quando a Microsoft lançar o Visual Studio para Linux e Mac ...
Stephen Darlington
12
Avise-me quando a Microsoft lançar o Visual Studio, Access, Frontpage, XNA, DirectX, Office (com todos os recursos), Movie Maker, Visio, IIS ou Exchange para Mac / Linux.
Brock Woolf
97
Avise-me quando a Microsoft se opor ao EULA para executar o Visual Studio, Access, Frontpage, XNA, DirectX, Office, Movie Maker, Visio, IIS ou Exchange no (Dar) Wine.
28610 lfaraone
5
@MarceloMason Kind of. É o código do Visual Studio , não o IDE completo.
Stephen Darlington
20
Não costumava ser um projecto dedicado para resolver este defeito: iphone-dev
O objetivo do projeto iphone-dev é criar uma cadeia de ferramentas gratuita, portátil e de alta qualidade para permitir o desenvolvimento do Apple iPhone e outros dispositivos embarcados baseados na plataforma ARM / Darwin.
O projeto não parece estar passando por desenvolvimento ou manutenção regular do site (por exemplo, as entradas do Wiki na criação da ferramenta / portabilidade são de fevereiro de 2010).
Ely
4
@Senhor. F, de fato está morto.
Johan Boulé
13
Em relação à cadeia de ferramentas alternativa, o site de Saurik é útil, mas para o desenvolvimento mais recente do firmware, ele indica que ele está baseado no próprio iPhone e não indica que você pode copiar os arquivos de firmware necessários para o seu ambiente Linux. Não é impossível, mas requer apenas trabalho adicional, especialmente para assinar o código (também existem soluções alternativas abertas).
Além disso, dê uma olhada em outros guias (para a mesma cadeia de ferramentas) que se aproximam mais metodicamente.
Sugiro que ainda faça a compilação final e a assinatura e o empacotamento de código no XCode (o que pode significar emprestar o Mac de alguém), caso você tenha problemas ao enviar o aplicativo à Apple. O uso da cadeia de ferramentas alternativa abre (pelo menos no Mac) a possibilidade de usar outros IDEs que não sejam o XCode para desenvolver o aplicativo e recorrer novamente ao XCode para a implantação e teste com o simulador.
Obviamente, se você conseguir que a geração de código / assinatura de código funcione na linha de comando fora do XCode, poderá instalar um certificado no seu iPhone real e testá-lo (instalando o aplicativo via iTunes com seu certificado).
A única maneira que eu sei de desenvolver o Linux para o iPhone seria instalar o Vmware e trabalhar para que o OS X fosse executado em uma máquina virtual. Com isso dito, existem algumas preocupações "legais" em fazer isso. É relatado que o OS X Server pode ser virtualizado, mas até onde sei a história de desenvolvimento.
Se você é realmente sério, é isso que eu investigaria.
Tersus Studio generates native iPhone applications in the form of Xcode projects that you can compile and sign using Apple's iPhone SDK.Portanto, ele não será capaz de cumprir e assinar um aplicativo iOS nativo
MarSoft
5
Você pode escrever código em uma caixa Linux que acabará se encontrando em um iPhone ou iPad, mas, em última análise, seria necessário um Mac para testar ou implantar o código no iPhone ou enviá-lo à App Store. Então, em última análise, você precisa de um Mac, para que também possa fazer o trabalho no Mac, com todas as ferramentas fornecidas pela Apple. Existem alternativas ao Xcode & Objective-C, como o Monotouch - mas elas também utilizam as ferramentas da Apple.
Você pode, com algum trabalho, executar o OS X em uma VM no Linux. No entanto, devo salientar que isso violará o contrato de licença do OSX, mesmo se você comprar a cópia do OSX - pois ele só é licenciado para ser executado no hardware da Apple.
Lamento dar-lhe esta notícia - o ecossistema em torno do iPhone / iPad é muito bem controlado.
EDIT: Uma grande exceção a isso é escrever um aplicativo da web para o iPhone. Existem alguns aplicativos da Web excelentes para o iPhone, que são quase tão bons quanto a experiência do usuário que um aplicativo nativo. No entanto, interpretei sua pergunta como sendo sobre o desenvolvimento de aplicativos nativos. Os aplicativos da Web, embora o usuário possa criar um ícone para iniciá-los - ainda são cidadãos de "segunda classe".
Embora possa ser permitido executar o Lion na virtualização se você estiver executando o Linux em um Mac.
Cajunluke
4
Tive sucesso ao criar aplicativos iOS no linux usando o iOS clang toolchain da cjacker . Basicamente, ele consiste nas ferramentas upstream clang e llvm da sua distribuição linux, uma porta linux do vinculador da apple e algumas ferramentas extras para ajudar a simplificar o processo de compilação (como a conversão de projetos xcode para o formato Makefile).
São necessários alguns passos para instalar, mas você é um desenvolvedor de software e está acostumado a isso. Postei um howto atualizado para o Debian 7 (Wheezy) on-line:
O conceito é baseado no Ruby on Rails e você desenvolve seu aplicativo móvel em Ruby e HTML e pode escrever seu código em um ambiente Linux. Você pode criar uma conta no Rhohub , onde adiciona o código (por meio do GitHub ) e permite compilá-lo para iPhone, Blackberry, Android, Windows Mobile e Symbian, todos com o mesmo código. Você não precisa codificar no Objective-C para iPhone, nem Java para Android, etc. Ele faz as conversões para você. Tudo o que você precisa fazer é seguir as Regras para criar um aplicativo para iPhone (ou o telefone para o qual deseja desenvolver) para que ele possa ser aceito no iTunes (ou no mercado equivalente).
Isso permitirá que você adicione o aplicativo ao iTunes também.
No entanto, não encontrei nenhum emulador, o que significa que, para testar seu aplicativo, você precisa colocá-lo em um iPhone, o que é uma missão.
Estou usando esta opção, pois quero criar aplicativos para todos os telefones e já uso o Ruby on Rails. Se você deseja criar um aplicativo para iPhone, invista em um Mac.
Você tem razão: os telefones sem jailbreak são limitados à App Store da Apple e a Apple "tem o direito" de impor qualquer regra, é um território totalmente livre. No entanto, enquanto estiver desenvolvendo, não será necessário lidar com a Apple. Você pode usar, por exemplo, rsync para carregar o código no dispositivo e testá-lo.
Este projeto supera o problema que Stephen Cox apresentou? "Você nunca obterá seu aplicativo aprovado pela Apple se não for desenvolvido usando o Xcode. Nunca. E se você hackear o SDK para desenvolver no Linux e a Apple descobrir" Obrigado
embora seja verdade
O libmobiledevice realmente possui uma interface decente para instalar aplicativos sem precisar do rsync / ssh em um iDevice.
Dwight Spencer
1
Até certo ponto, sim, é possível. Você pode digitar o código Objective-C e configurar seus projetos. Você pode até testar as partes C e C ++ do seu código com o gcc.
O que você não pode fazer:
Use o Interface Builder para configurar sua interface, pois é apenas para Mac. (Não é necessário, mas recomendado.)
Código de compilação que usa as classes Cocoa da Apple - elas não existem no Linux.
Código de teste no Simulador - não existe um para Linux.
Compile código para dispositivos reais ou para a App Store - tudo isso requer ferramentas que a Apple fornece apenas para o OS X.
quando você diz que as aulas não existem, o que você quer dizer? Eu só preciso dos cabeçalhos, a Apple o vinculará para mim de qualquer maneira. É assim que o envio de aplicativos funciona, AFAIK.
Janus Troelsen
1
Você precisa obter mac para isso. Existem várias cadeias de ferramentas disponíveis (como win-chain) que permitem escrever e criar aplicativos do i Phone no Windows. Existem vários tutoriais associados para criar o código do Objective C no Windows. Mas há um problema, os aplicativos desenvolvidos serão funcionados apenas em i Phones quebrados na cadeia.
Vimos alguns hacks para superar isso e chegar à App Store, mas como a Apple continua atualizando SDKs, as cadeias de ferramentas precisam de atualizações regulares. É um aborrecimento para compensar o tempo todo. Se você deseja preparar o aplicativo, também pode obter ajuda da arcapps, lança aplicativos a um preço razoável.
desenvolvimento de aplicativos para iphone
Fiz uma tentativa de portar o cocos2d-iphone para o GNUstep para que você possa desenvolver um jogo baseado no cocos2d. No entanto, para publicar, você precisa de um mac. cocos2d-GNUstep .
Eu recomendaria comprar um mac, porque o simulador ios é incrível para testes nos estágios iniciais de um aplicativo. Mas conheço uma pequena empresa com a qual trabalhamos que se desenvolve usando o Unity para que eles não precisem de um monte de macs. Dessa forma, eles precisam apenas de um mac para o escritório e isso é apenas para compilar a versão final. Também significa que funciona no Android, mas realmente depende do que o seu prédio é porque é um mecanismo de jogos. Convém procurar aplicativos da Web usando estruturas como o Sencha Touch Mobile
Se você valoriza seu tempo, compre um Mac! Eu não sei o suficiente sobre as opções de desenvolvimento do Linux para oferecer uma solução viável, mas parece que os métodos propostos envolvem algum trabalho indireto. Se você planeja escrever e vender seriamente aplicativos para iPhone, acho que você pode facilmente recuperar o custo de um Mac Mini ou Macbook. :-)
Cara, se estamos procurando uma alternativa, é porque comprar uma não é uma opção disponível.
Roger Russel
-5
Você nunca terá seu aplicativo aprovado pela Apple se não for desenvolvido usando o Xcode. Nunca. E se você hackear o SDK para desenvolver no Linux e a Apple descobrir, não se surpreenda quando for atendido. Sou membro do programa de desenvolvedor do ADC e do iPhone. Confie, a Apple é muito séria sobre isso.
Não se arrisque, compre um Macbook ou Mac mini (sim, um mini pode executar o Xcode - embora lentamente - aumente a RAM se você for com o mini). Além disso, enquanto eu vi o OS X invadido para rodar no VMware, nunca vi alguém executando o Xcode na VM. Então boa sorte. E eu verificaria o EULA antes de passar pelo problema.
PS: Depois de ler o acima, sim, eu concordo. Se você hackear o SDK e desenvolver no Linux, pelo menos faça o empacotamento final em um Mac. E envie-o através de um Mac. A Apple não percorre o código linha por linha, então eu duvido que eles entenderiam isso. Mas cara, isso é muito se e trabalho. Seja divertido de fazer. :)
Novos minis são bons para a tarefa. Eu acho que eles custam cerca de US $ 600 e você pode usar praticamente qualquer mouse, teclado e monitor. Certifique-se de calibrar o monitor! O XCode parece funcionar muito bem no meu mini não expandido.
Nosredna
7
O Xcode funciona bem em uma máquina virtual Mac OS X.
dave1010
2
A Apple aprova aplicativos Air SDK o tempo todo, sem interação com o XCode. Você pode fazer a compilação inteira no linux / windows.
Respostas:
Para fornecer uma resposta diferente, estou executando o OS X e o Xcode em uma máquina virtualizada (VMware) no Linux. A CPU é um Core2Quad (Q8800) e é perfeitamente rápida. Encontrei uma VM pré-construída on-line (deixarei para você descobrir) O desenvolvimento do Xcode / iPhone funciona perfeitamente, assim como a depuração via USB no próprio telefone.
Na verdade, isso me surpreendeu muito - mas não tive nenhum problema.
fonte
A resposta para isso realmente depende se você deseja ou não desenvolver aplicativos que são distribuídos na loja do iPhone. Se não o fizer, e não se importe em desenvolver para o público "desbloqueado" do iPhone - é possível desenvolver a partir do Linux.
Consulte a página deste capítulo para obter um guia abrangente (se um pouco complexo) sobre o que fazer:
http://www.saurik.com/id/4
fonte
Parece ser verdade até agora. O único SDK disponível na Apple é direcionado apenas ao ambiente MacOS. Fiquei chateado com isso, mas estou pensando em comprar um mac agora, apenas para desenvolver o iPhone. Eu realmente não gosto do que eles estão fazendo, e espero que um bom SDK seja lançado para outros ambientes, como Linux e Windows.
Obstáculos ao SDK:
Eu acho que é bastante elitista para eles pensarem que apenas os usuários de macos são bons o suficiente para escrever programas para seus telefones, e o fato de você precisar comprar uma licença de US $ 100 se quiser publicar suas coisas realmente torna mais difícil para o programador amador. Porém, se é isso que você precisa fazer, estou pensando em pular os aros deles; Eu realmente gostaria de desenvolver algumas coisas no meu iPhone.
fonte
Não costumava ser um projecto dedicado para resolver este defeito: iphone-dev
fonte
Em relação à cadeia de ferramentas alternativa, o site de Saurik é útil, mas para o desenvolvimento mais recente do firmware, ele indica que ele está baseado no próprio iPhone e não indica que você pode copiar os arquivos de firmware necessários para o seu ambiente Linux. Não é impossível, mas requer apenas trabalho adicional, especialmente para assinar o código (também existem soluções alternativas abertas).
Além disso, dê uma olhada em outros guias (para a mesma cadeia de ferramentas) que se aproximam mais metodicamente.
Sugiro que ainda faça a compilação final e a assinatura e o empacotamento de código no XCode (o que pode significar emprestar o Mac de alguém), caso você tenha problemas ao enviar o aplicativo à Apple. O uso da cadeia de ferramentas alternativa abre (pelo menos no Mac) a possibilidade de usar outros IDEs que não sejam o XCode para desenvolver o aplicativo e recorrer novamente ao XCode para a implantação e teste com o simulador.
Obviamente, se você conseguir que a geração de código / assinatura de código funcione na linha de comando fora do XCode, poderá instalar um certificado no seu iPhone real e testá-lo (instalando o aplicativo via iTunes com seu certificado).
fonte
A única maneira que eu sei de desenvolver o Linux para o iPhone seria instalar o Vmware e trabalhar para que o OS X fosse executado em uma máquina virtual. Com isso dito, existem algumas preocupações "legais" em fazer isso. É relatado que o OS X Server pode ser virtualizado, mas até onde sei a história de desenvolvimento.
Se você é realmente sério, é isso que eu investigaria.
Boa sorte.
fonte
Você pode usar o Tersus (código aberto) e permite exportar o aplicativo como um projeto do Xcode.
fonte
Tersus Studio generates native iPhone applications in the form of Xcode projects that you can compile and sign using Apple's iPhone SDK.
Portanto, ele não será capaz de cumprir e assinar um aplicativo iOS nativoVocê pode escrever código em uma caixa Linux que acabará se encontrando em um iPhone ou iPad, mas, em última análise, seria necessário um Mac para testar ou implantar o código no iPhone ou enviá-lo à App Store. Então, em última análise, você precisa de um Mac, para que também possa fazer o trabalho no Mac, com todas as ferramentas fornecidas pela Apple. Existem alternativas ao Xcode & Objective-C, como o Monotouch - mas elas também utilizam as ferramentas da Apple.
Você pode, com algum trabalho, executar o OS X em uma VM no Linux. No entanto, devo salientar que isso violará o contrato de licença do OSX, mesmo se você comprar a cópia do OSX - pois ele só é licenciado para ser executado no hardware da Apple.
Lamento dar-lhe esta notícia - o ecossistema em torno do iPhone / iPad é muito bem controlado.
EDIT: Uma grande exceção a isso é escrever um aplicativo da web para o iPhone. Existem alguns aplicativos da Web excelentes para o iPhone, que são quase tão bons quanto a experiência do usuário que um aplicativo nativo. No entanto, interpretei sua pergunta como sendo sobre o desenvolvimento de aplicativos nativos. Os aplicativos da Web, embora o usuário possa criar um ícone para iniciá-los - ainda são cidadãos de "segunda classe".
fonte
Tive sucesso ao criar aplicativos iOS no linux usando o iOS clang toolchain da cjacker . Basicamente, ele consiste nas ferramentas upstream clang e llvm da sua distribuição linux, uma porta linux do vinculador da apple e algumas ferramentas extras para ajudar a simplificar o processo de compilação (como a conversão de projetos xcode para o formato Makefile).
São necessários alguns passos para instalar, mas você é um desenvolvedor de software e está acostumado a isso. Postei um howto atualizado para o Debian 7 (Wheezy) on-line:
http://www.ninthavenue.com.au/how-to-build-an-ios-toolchain-for-linux-debian-7
Caso contrário, você deseja seguir as instruções genéricas um pouco mais antigas:
http://code.google.com/p/ios-toolchain-based-on-clang-for-linux/wiki/HowTo_en
Boa sorte.
fonte
Existe uma estrutura chamada Rhodes .
O conceito é baseado no Ruby on Rails e você desenvolve seu aplicativo móvel em Ruby e HTML e pode escrever seu código em um ambiente Linux. Você pode criar uma conta no Rhohub , onde adiciona o código (por meio do GitHub ) e permite compilá-lo para iPhone, Blackberry, Android, Windows Mobile e Symbian, todos com o mesmo código. Você não precisa codificar no Objective-C para iPhone, nem Java para Android, etc. Ele faz as conversões para você. Tudo o que você precisa fazer é seguir as Regras para criar um aplicativo para iPhone (ou o telefone para o qual deseja desenvolver) para que ele possa ser aceito no iTunes (ou no mercado equivalente).
Isso permitirá que você adicione o aplicativo ao iTunes também.
No entanto, não encontrei nenhum emulador, o que significa que, para testar seu aplicativo, você precisa colocá-lo em um iPhone, o que é uma missão.
Estou usando esta opção, pois quero criar aplicativos para todos os telefones e já uso o Ruby on Rails. Se você deseja criar um aplicativo para iPhone, invista em um Mac.
Espero que isto ajude.
fonte
Você tem razão: os telefones sem jailbreak são limitados à App Store da Apple e a Apple "tem o direito" de impor qualquer regra, é um território totalmente livre. No entanto, enquanto estiver desenvolvendo, não será necessário lidar com a Apple. Você pode usar, por exemplo, rsync para carregar o código no dispositivo e testá-lo.
fonte
Até certo ponto, sim, é possível. Você pode digitar o código Objective-C e configurar seus projetos. Você pode até testar as partes C e C ++ do seu código com o gcc.
O que você não pode fazer:
fonte
Você precisa obter mac para isso. Existem várias cadeias de ferramentas disponíveis (como win-chain) que permitem escrever e criar aplicativos do i Phone no Windows. Existem vários tutoriais associados para criar o código do Objective C no Windows. Mas há um problema, os aplicativos desenvolvidos serão funcionados apenas em i Phones quebrados na cadeia.
Vimos alguns hacks para superar isso e chegar à App Store, mas como a Apple continua atualizando SDKs, as cadeias de ferramentas precisam de atualizações regulares. É um aborrecimento para compensar o tempo todo. Se você deseja preparar o aplicativo, também pode obter ajuda da arcapps, lança aplicativos a um preço razoável. desenvolvimento de aplicativos para iphone
fonte
Fiz uma tentativa de portar o cocos2d-iphone para o GNUstep para que você possa desenvolver um jogo baseado no cocos2d. No entanto, para publicar, você precisa de um mac. cocos2d-GNUstep .
fonte
Eu recomendaria comprar um mac, porque o simulador ios é incrível para testes nos estágios iniciais de um aplicativo. Mas conheço uma pequena empresa com a qual trabalhamos que se desenvolve usando o Unity para que eles não precisem de um monte de macs. Dessa forma, eles precisam apenas de um mac para o escritório e isso é apenas para compilar a versão final. Também significa que funciona no Android, mas realmente depende do que o seu prédio é porque é um mecanismo de jogos. Convém procurar aplicativos da Web usando estruturas como o Sencha Touch Mobile
Unidade: http://unity3d.com/ Sencha Touch: http://www.sencha.com/products/touch/
fonte
Se você valoriza seu tempo, compre um Mac! Eu não sei o suficiente sobre as opções de desenvolvimento do Linux para oferecer uma solução viável, mas parece que os métodos propostos envolvem algum trabalho indireto. Se você planeja escrever e vender seriamente aplicativos para iPhone, acho que você pode facilmente recuperar o custo de um Mac Mini ou Macbook. :-)
fonte
Você nunca terá seu aplicativo aprovado pela Apple se não for desenvolvido usando o Xcode. Nunca. E se você hackear o SDK para desenvolver no Linux e a Apple descobrir, não se surpreenda quando for atendido. Sou membro do programa de desenvolvedor do ADC e do iPhone. Confie, a Apple é muito séria sobre isso.
Não se arrisque, compre um Macbook ou Mac mini (sim, um mini pode executar o Xcode - embora lentamente - aumente a RAM se você for com o mini). Além disso, enquanto eu vi o OS X invadido para rodar no VMware, nunca vi alguém executando o Xcode na VM. Então boa sorte. E eu verificaria o EULA antes de passar pelo problema.
PS: Depois de ler o acima, sim, eu concordo. Se você hackear o SDK e desenvolver no Linux, pelo menos faça o empacotamento final em um Mac. E envie-o através de um Mac. A Apple não percorre o código linha por linha, então eu duvido que eles entenderiam isso. Mas cara, isso é muito se e trabalho. Seja divertido de fazer. :)
fonte