• Like
Desenvolvendo para iOS em linux
Upcoming SlideShare
Loading in...5
×

Desenvolvendo para iOS em linux

  • 8,707 views
Uploaded on

Apresentação sobre como configurar um ambiente de desenvolvimento para iOS (iPod, iPhone, iPad) em Linux.

Apresentação sobre como configurar um ambiente de desenvolvimento para iOS (iPod, iPhone, iPad) em Linux.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
8,707
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
219
Comments
0
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Erisvaldo Gadelha Saraiva Júnior Desenvolvendo para iOS em Linux E-mail: erisvaldojunior@gmail.com Site: http://erisvaldojunior.com Twitter: http://twitter.com/erisvaldojunior
  • 2. Sobre o palestrante Analista de Sistemas da Cehap (Companhia Estadual de Habitação Popular); Desenvolvedor Mobile e participante do projeto Ginga pelo Lavid (Laboratório de Tecnologias para o Ensino Virtual e Estatística), situado na Universidade Federal da Paraíba; Empreendedor da Yupi Studios (http://yupistudios.com), startup voltada para a criação de conteúdo criativo para dispositivos móveis; Bacharel em Ciência da Computação pela Universidade Federal da Paraíba e Tecnólogo em Sistemas para Internet pelo Instituto Federal de Educação, Ciência e Tecnologia.
  • 3. Sobre a Yupi Studios www.yupistudios.com
  • 4. Games (MinerMan)
  • 5. Aplicativos (Pump Me Up!)
  • 6. Objetivo Desenvolver aplicações para a plataforma iOS 3 (iPod Touch, iPhone 2G, iPhone 3G, iPhone 3GS e iPad) em Linux, através de Organize with Sections compilação cruzada com o Toolchain para iPhone. Não é necessário ter um Mac OS X e utilizar a IDE Xcode para desenvolver para iPhone. Graças ao Toolchain para iPhone, é possível desenvolver para iOS em qualquer distribuição Linux.
  • 7. O que é o iOS? Sistema operacional desenvolvido pela Apple para dispositivos móveis (iPhone, iPad e iPod Touch). O iOS atualmente se encontra na versão 4.x e é baseado no Mac OS X; O kit de desenvolvimento para iOS (o iOS SDK) está disponível apenas para Mac OS X. A linguagem de Introdução programação utilizada no desenvolvimento para iOS é o Objective-C e a IDE, o XCode. Além disso, para testar suas aplicações no aparelho, é necessário possuir a licença do iOS Developer Program, ao custo de 99 dólares anuais. Distribuição de aplicações única e exclusivamente através da Apple App Store.
  • 8. Desenvolvendo para iOS em Mac OS X XCode IDE, Interface Builder e iPhone Simulator Introdução
  • 9. Apple App Store Loja de aplicativos para iOS gerenciada pela Apple e disponível através dos próprios aparelhos. Em julho de 2008 foi lançada a Apple App Store, na qual o desenvolvedor paga uma anuidade 99 dólares, define o preço final de suas aplicações e recebe 70% do lucro total; Motivação A loja vem sendo um sucesso absoluto. Disponível em 77 países, com mais de 75 mil aplicações e 1,5 bilhão de downloads realizados, números que crescem a cada dia; A Apple App Store definiu uma nova era no mercado Mobile, com vários fabricantes (e agora operadoras) lançando suas próprias lojas de aplicativos nos meses seguintes.
  • 10. Motivação Segundo a AdMob, a Apple App Store movimenta incríveis 200 milhões de dólares por mês, somando um total de 2,4 bilhões por ano. Organize with Sections Trism, um jogo casual que foi lançado no início da Apple App Store (similar ao Bejeweled), rendeu ao seu desenvolvedor, Steve Demeter, U$ 250.000,00 em apenas dois meses.
  • 11. Motivação A Apple App Store possui o maior mercado de aplicações pagas e gratuitas entre todas as lojas de aplicativos mobile. Organize with Sections
  • 12. Motivação A média de downloads da Apple App Store é superior a do Android Market, bem como a porcentagem de usuários que compram aplicações. Organize with Sections
  • 13. Etapas do Desenvolvimento Configurar o Escrever o Testar no ambiente código aparelho Desenvolvendo para iOS em Linux
  • 14. Configurar o Ambiente Atualização do Firmware do aparelho; Jailbreak do aparelho; Download do iOS SDK; Instalação do Toolchain.
  • 15. Atualização do Firmware do iPhone Instalar o iTunes (Mac OS / Windows) http://www.apple.com/br/itunes/download/ Baixar o Firmware 3.1.3 do iPhone http://limitededitioniphone.com/where-can-i-get-an-old- iphone-firmware/ Atualizar o Firmware utilizando o iTunes. Em caso de problema, utilizar uma versão anterior do iTunes (como a versão 7.2, por exemplo).
  • 16. Jailbreak do iPhone Instalar o redsn0w (Mac OS / Windows) http://www.redsnow.com Realizar o Jailbreak do iPhone http://www.connectionworld.org/como-desbloquear-o-iphone- com-firmware-3-0/
  • 17. Download do iPhone SDK Baixar o iPhone SDK 3.1.3 http://iphonesdkdev.blogspot.com/2010/04/old-versions-of- iphone-sdk.html Link Direto http://developer.apple.com/ios/download.action?path=/iphone/ip hone_sdk_3.1.3__final/iphone_sdk_3.1.3_with_xcode_3.2.1__sno w_leopard__10m2003a.dmg
  • 18. O que é o Toolchain para iPhone? À grosso modo, o Open Toolchain para iPhone é um conjunto de ferramentas que permitem a realização de compilação cruzada para Instalação do Toolchain iPhone, ou seja, gerar código para a arquitetura ARM a partir da 80x86, permitindo assim a criação de um executável para iOS. Site do projeto “iphonedevonlinux” http://code.google.com/p/iphonedevonlinux/ Instruções de instalação http://code.google.com/p/iphonedevonlinux/wiki/Installation
  • 19. Após instalado… Será criada uma pasta toolchain/ com a subpasta apps/, onde ficarão as pastas referentes aos projetos criados. Instalação do Toolchain O Toolchain já possui um projeto de exemplo chamado HelloToolchain, que se encontra em apps/HelloToolchain. O código-fonte da aplicação fica na subpasta src/ e um makefile é colocado na raiz da aplicação. Também é criada uma pasta img/, na qual devem ser colocados o ícone da aplicação, imagem default (que será utilizada na Splash Screen) e demais imagens utilizadas pela aplicação.
  • 20. Escrever o Código “Hello World” em iOS
  • 21. Sobre a linguagem Objective-C É uma linguagem de programação reflexiva, orientada a objetos, que suporta transmissão de mensagens no estilo SmallTalk para a linguagem C; Utilizada principalmente no Mac OS X. É a principal linguagem utilizada no Cocoa (uma das cinco maiores APIs disponíveis para o Mac OS X e a API disponível para o iOS); Programas genéricos em Objective-C que não façam uso de bibliotecas de terceiros também podem ser compilados por qualquer sistema suportado pelo gcc, que inclui um compilador Objective-C.
  • 22. Tutoriais de Objective-C Introdução rápida e objetiva do Objective-C: http://www.cs.indiana.edu/classes/c304/ObjC.html Tutorial simples, orientado ao utilizador: http://www.otierney.net/objective-c.html Tutorial “Objective-Oriented Programming and The Objective-C Language”. Disponível em: http://objc.toodarkpark.net/
  • 23. Que IDE utilizar? Pode-se utilizar qualquer IDE para o desenvolvimento, uma vez que não será utilizada nenhum tipo de ferramenta visual (no Escrevendo o Código caso do desenvolvimento em Mac existe um Construtor de Interface). Recomenda-se o KDevelop ou qualquer outra IDE que tenha suporte a linguagem Objective-C. Site do projeto KDevelop http://www.kdevelop.org/
  • 24. O código do Hello World que vem com o Open Toolchain para iPhone é composto por dois arquivos: HelloToolchain.h e HelloToolchain.m. Hello Toolchain! A applicationDidFinishLaunching() função é chamada assim que a aplicação é iniciada e deve ser implementada de forma a exibir as informações desejadas na tela do aparelho.
  • 25. Em que consiste o HelloToolchain.h? Da mesma forma que no C/C++, o Objective-C possui arquivos de cabeçalho (headers). O header contém, entre as annotations @interface e @end, as variáveis e funções que serão implementadas pelo arquivo de código, de extensão .m. HelloToolchain.h As bibliotecas são importadas no mesmo estilo de C, trocando-se #include por #import.
  • 26. Em que consiste o HelloToolchain.m? O .m contém, além do main(), entre as annotations @implementation e @end, a implementação das funções declaradas no arquivo de cabeçalho. HelloToolchain.m No main(), aloca-se uma instância de NSAutoReleasePool, uma fila de objetos que serão automaticamente desalocados pelo sistema. Logo após, chama-se o UIApplicationMain passando como parâmetros os argumentos de inicialização do main() bem como o título da aplicação. Em applicationDidFinishLaunching(), prepara-se a janela da aplicação, na qual serão adicionadas as views (componentes de interface) da aplicação, como textos, botões, etc. Por fim, torna-se a janela visível.
  • 27. HelloToolchain.m
  • 28. Criando interfaces no iPhone com o UIKit Porção do UIKit
  • 29. Criando interfaces no iPhone com o UIKit Visão geral do UIKit
  • 30. Testar no aparelho Como testar sua aplicação no aparelho, usando o Toolchain
  • 31. Como testar a aplicação no aparelho? Uma vez produzido o código da aplicação, deve-se executar o make preparado pelo Toolchain na pasta raiz. Eventualmente serão necessárias mudanças no makefile, para compilar novos arquivos de código, por exemplo. Testar no iPhone O make deve ser executado após definir-se duas variáveis: IP do iPhone (que deve estar na mesma rede que o PC) e PATH dos binários do toolchain. Além disso, deve acompanhar o parâmetro deploy para que a aplicação seja enviada para o iPhone via SSH (usando Wi-fi). Durante o deploy, pedir-se-á a senha para acessar o iPhone via SSH. Por padrão, a senha é alpine.
  • 32. Trocando em miúdos… Na raiz da pasta da aplicação (ex: toolchain/apps/HelloToolchain/), executa-se: Para apenas compilar a aplicação: Testar no iPhone sudo PATH=PATH_DO_TOOLCHAIN/pre/bin:$PATH make Para compilar e enviar a aplicação para o iPhone: sudo IP=IP_DO_IPHONE PATH=PATH_DO_TOOLCHAIN/pre/bin:$PATH make deploy
  • 33. What’s Your Message? OBRIGADO!