SlideShare uma empresa Scribd logo
Erisvaldo Gadelha Saraiva Júnior



Desenvolvendo para

iPhone em Linux

                     Contato: erisvaldojunior@gmail.com
Objetivo
                         Desenvolver aplicações para iPod Touch e iPhone (2G, 3G e
                         3GS) em Linux, através do iPhone Toolchain.
Organize with Sections




                                                           Não é necessário ter um Mac
                                                           OS X e utilizar o Xcode para
                                                           desenvolver      para   iPhone.
                                                           Graças ao iPhone Toolchain, é
                                                           possível    desenvolver    para
                                                           iPhone        em      qualquer
                                                           distribuição Linux.
O que é o iPhone OS?
             Sistema operacional desenvolvido pela Apple para iPhone e
             iPod Touch.



                  O iPhone OS atualmente se encontra na versão 3.1 e é
                  baseado no Mac OS X;

                  O kit de desenvolvimento para iPhone OS (o iPhone SDK)
Introdução




                  está disponível apenas para Mac OS X. A linguagem de
                  programação utilizada no desenvolvimento para iPhone OS é
                  o Objective-C e a IDE, o XCode.

                  Distribuição de aplicações única e exclusivamente através da
                  iPhone App Store.
iPhone App Store
            Loja de aplicativos para iPhone gerenciada pela Apple e
            disponível através do próprio aparelho.


                 Em julho de 2008 foi lançada a iPhone App Store, na qual o
                 desenvolvedor paga uma anuidade de U$ 99,00, define o
                 preço final de suas aplicações e recebe 70% do lucro total;

                 A loja vem sendo um sucesso absoluto. Disponível em 77
Motivação




                 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 iPhone 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.
Motivação
                         Segundo a AdMob, a iPhone 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 iPhone
                                                              App     Store    (similar ao
                                                              Bejeweled), rendeu ao seu
                                                              desenvolvedor, Steve Demeter,
                                                              U$ 250.000,00 em apenas dois
                                                              meses.
Etapas do Desenvolvimento


 Configurar o   Escrever o             Testar no
  ambiente        código                iPhone




                     Desenvolvendo para iPhone em Linux
Configurar o Ambiente

         Atualização do Firmware do iPhone;
                         Jailbreak do iPhone;
                   Download do iPhone SDK;
                     Instalação do Toolchain.
Atualização do Firmware do iPhone



        Instalar o iTunes 9 (Mac OS / Windows)
        http://www.apple.com/br/itunes/download/

        Baixar o Firmware 3.0 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).
Jailbreak do iPhone



         Instalar o redsn0w 0.9.2 (Mac OS / Windows)
         http://www.redsnow.com

         Realizar o Jailbreak do iPhone
         http://www.connectionworld.org/como-desbloquear-o-iphone-
         com-firmware-3-0/
Download do iPhone SDK


        Baixar o iPhone SDK 3.0 (Leopard)
        http://iphonesdkdev.blogspot.com/2009/06/use-xcode-312-to-
        build-sdk-30-app-to-30.html

        Link Direto
        http://developer.apple.com/iphone/download.action?path=/ip
        hone/iphone_sdk_3.0__final/iphone_sdk_3.0__leopard__9m2
        736__final.dmg
O que é o iPhone Toolchain?
                          À grosso modo, um Toolchain é um conjunto de ferramentas de
                          programação que permitem a geração de um outro programa.
Instalação do Toolchain

                          No caso do iPhone, o toolchain permite a realização de uma
                          compilação cruzada, possibilitando que o código seja
                          compilado em um computador e executado no próprio iPhone.

                                Site do projeto “iphonedevonlinux”
                                http://code.google.com/p/iphonedevonlinux/


                                Instruções de instalação
                                http://code.google.com/p/iphonedevonlinux/wiki/Installation
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.
Escrever o Código



             “Hello World” em iPhone OS
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 e é 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 iPhone OS);


           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.
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/
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/
O código do Hello
                   World que vem com
                   o     Toolchain   é
                   composto por dois
                   arquivos:
                   HelloToolchain.h  e
                   HelloToolchain.m.

Hello Toolchain!   A                          função
                   applicationDidFinishLaunching() é
                   chamada assim que a aplicação é
                   iniciada e deve ser implementada
                   de forma a exibir as informações
                   desejadas na tela do aparelho.
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.
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.
HelloToolchain.m
Criando interfaces no iPhone com o UIKit




                    Porção do UIKit
Criando interfaces
no iPhone com o UIKit




    Visão geral
        do
       UIKit
Testar no iPhone



 Como testar sua aplicação no iPhone, usando o Toolchain
Como testar a aplicação no iPhone?

                   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.
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
What’s Your Message?
OBRIGADO!

Mais conteúdo relacionado

Mais procurados

Curso de Android - aula 3
Curso de Android - aula 3Curso de Android - aula 3
Curso de Android - aula 3
Jose Berardo
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento Android
José Alexandre Macedo
 
App Inventor
App InventorApp Inventor
Android Aula 1
Android Aula 1Android Aula 1
Android Aula 1
Erisvaldo Junior
 
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e AndroidPalestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android
Carlos Eugenio Torres
 
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhoneEntenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Henrique Perticarati
 
Introdução a programação para plataforma iOS
Introdução a programação para plataforma iOSIntrodução a programação para plataforma iOS
Introdução a programação para plataforma iOS
Devmedia
 
Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4
Jose Berardo
 
Android Aprendiz
Android AprendizAndroid Aprendiz
Android Aprendiz
Fillipe Cordeiro
 
Programando Android - Aula 1
Programando Android - Aula 1Programando Android - Aula 1
Programando Android - Aula 1
Kalil Maciel
 
Desenvolvendo para Android
Desenvolvendo para AndroidDesenvolvendo para Android
Desenvolvendo para Android
Claudio Pereira
 
Android Aula 3
Android Aula 3Android Aula 3
Android Aula 3
Erisvaldo Junior
 
Android - Conceito e Arquitetura
Android - Conceito e ArquiteturaAndroid - Conceito e Arquitetura
Android - Conceito e Arquitetura
Ana Dolores Lima Dias
 
AppInventor - Conhecendo o ambiente e seus principais componentes
AppInventor - Conhecendo o ambiente e seus principais componentesAppInventor - Conhecendo o ambiente e seus principais componentes
AppInventor - Conhecendo o ambiente e seus principais componentes
Sérgio Souza Costa
 
Introdução à programação para Android
Introdução à programação para AndroidIntrodução à programação para Android
Introdução à programação para Android
Jorge Cardoso
 
Android Aula 4
Android Aula 4Android Aula 4
Android Aula 4
Erisvaldo Junior
 
Iniciando o Desenvolvimento para o Google Android
Iniciando o Desenvolvimento para o Google AndroidIniciando o Desenvolvimento para o Google Android
Iniciando o Desenvolvimento para o Google Android
Salvador Torres
 
Tutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para AndroidTutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para Android
Sidney Roberto
 
Programando Android - Aula 2
Programando Android - Aula 2Programando Android - Aula 2
Programando Android - Aula 2
Kalil Maciel
 

Mais procurados (19)

Curso de Android - aula 3
Curso de Android - aula 3Curso de Android - aula 3
Curso de Android - aula 3
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento Android
 
App Inventor
App InventorApp Inventor
App Inventor
 
Android Aula 1
Android Aula 1Android Aula 1
Android Aula 1
 
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e AndroidPalestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android
 
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhoneEntenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
 
Introdução a programação para plataforma iOS
Introdução a programação para plataforma iOSIntrodução a programação para plataforma iOS
Introdução a programação para plataforma iOS
 
Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4
 
Android Aprendiz
Android AprendizAndroid Aprendiz
Android Aprendiz
 
Programando Android - Aula 1
Programando Android - Aula 1Programando Android - Aula 1
Programando Android - Aula 1
 
Desenvolvendo para Android
Desenvolvendo para AndroidDesenvolvendo para Android
Desenvolvendo para Android
 
Android Aula 3
Android Aula 3Android Aula 3
Android Aula 3
 
Android - Conceito e Arquitetura
Android - Conceito e ArquiteturaAndroid - Conceito e Arquitetura
Android - Conceito e Arquitetura
 
AppInventor - Conhecendo o ambiente e seus principais componentes
AppInventor - Conhecendo o ambiente e seus principais componentesAppInventor - Conhecendo o ambiente e seus principais componentes
AppInventor - Conhecendo o ambiente e seus principais componentes
 
Introdução à programação para Android
Introdução à programação para AndroidIntrodução à programação para Android
Introdução à programação para Android
 
Android Aula 4
Android Aula 4Android Aula 4
Android Aula 4
 
Iniciando o Desenvolvimento para o Google Android
Iniciando o Desenvolvimento para o Google AndroidIniciando o Desenvolvimento para o Google Android
Iniciando o Desenvolvimento para o Google Android
 
Tutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para AndroidTutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para Android
 
Programando Android - Aula 2
Programando Android - Aula 2Programando Android - Aula 2
Programando Android - Aula 2
 

Semelhante a Desenvolvendo Para I Phone Em Linux

Introdução Ao Desenvolvimento Para Iphone
Introdução Ao Desenvolvimento Para IphoneIntrodução Ao Desenvolvimento Para Iphone
Introdução Ao Desenvolvimento Para Iphone
Igenesis - Fábrica de Inovação
 
Desenvolver aplicações C# para o iPhone
Desenvolver aplicações C# para o iPhoneDesenvolver aplicações C# para o iPhone
Desenvolver aplicações C# para o iPhone
Bruno Pires
 
Beginning Iphone
Beginning IphoneBeginning Iphone
Beginning Iphone
Jorge Eduardo Rodrigues
 
Resumo Desenvolvimento Mobile
Resumo Desenvolvimento MobileResumo Desenvolvimento Mobile
Resumo Desenvolvimento Mobile
Cícero Moura
 
Trabalho de informatica - Sistema Operacional iOS
Trabalho de informatica - Sistema Operacional iOSTrabalho de informatica - Sistema Operacional iOS
Trabalho de informatica - Sistema Operacional iOS
nadilei
 
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveisSeminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
Rogério Moraes de Carvalho
 
Desenvolvimento IOS - Mobile
Desenvolvimento IOS - MobileDesenvolvimento IOS - Mobile
Desenvolvimento IOS - Mobile
Wanderlei Silva do Carmo
 
Ionic Framework - Configuração do ambiente e a criação da primeira APP
Ionic Framework - Configuração do ambiente e a criação da primeira APPIonic Framework - Configuração do ambiente e a criação da primeira APP
Ionic Framework - Configuração do ambiente e a criação da primeira APP
Fabio Godoy
 
Desenvolvimento de Apps e Games para iOS - Parte 2
Desenvolvimento de Apps e Games para iOS - Parte 2Desenvolvimento de Apps e Games para iOS - Parte 2
Desenvolvimento de Apps e Games para iOS - Parte 2
Erisvaldo Junior
 
Criando aplicações em Android brincando de quebra-cabeça!
Criando aplicações em Android brincando de quebra-cabeça!Criando aplicações em Android brincando de quebra-cabeça!
Criando aplicações em Android brincando de quebra-cabeça!
Comunidade Tá safo!
 
Aptoide
AptoideAptoide
Aptoide
rlealjacinto
 
Hello world hybrid apps oportunidades com ionic framework v2
Hello world hybrid apps  oportunidades com ionic framework v2Hello world hybrid apps  oportunidades com ionic framework v2
Hello world hybrid apps oportunidades com ionic framework v2
Ricardo Netto - MCP, MSP
 
Apresentação dev ios
Apresentação dev iosApresentação dev ios
Apresentação dev ios
Flavio Rabelo
 
GSOIII - INTRODUÇÃO AO ANDROID
GSOIII - INTRODUÇÃO AO ANDROIDGSOIII - INTRODUÇÃO AO ANDROID
GSOIII - INTRODUÇÃO AO ANDROID
ETEC Monsenhor Antonio Magliano
 
Desenvolvendo para Android com PhoneGap
Desenvolvendo para Android com PhoneGapDesenvolvendo para Android com PhoneGap
Desenvolvendo para Android com PhoneGap
Mayron Cachina
 
3
33
Poo1 aula 1 - java - história e introdução
Poo1   aula 1 - java -  história e introduçãoPoo1   aula 1 - java -  história e introdução
Poo1 aula 1 - java - história e introdução
Denis Sobrenome
 
Poo1 aula 1 - java - história e introdução
Poo1   aula 1 - java -  história e introduçãoPoo1   aula 1 - java -  história e introdução
Poo1 aula 1 - java - história e introdução
Denis Sobrenome
 
Workshop frontend
Workshop   frontendWorkshop   frontend
Workshop frontend
Leandro Mancini
 
Android: Conheça o Futuro Inevitável
Android: Conheça o Futuro InevitávelAndroid: Conheça o Futuro Inevitável
Android: Conheça o Futuro Inevitável
Campus Party Brasil
 

Semelhante a Desenvolvendo Para I Phone Em Linux (20)

Introdução Ao Desenvolvimento Para Iphone
Introdução Ao Desenvolvimento Para IphoneIntrodução Ao Desenvolvimento Para Iphone
Introdução Ao Desenvolvimento Para Iphone
 
Desenvolver aplicações C# para o iPhone
Desenvolver aplicações C# para o iPhoneDesenvolver aplicações C# para o iPhone
Desenvolver aplicações C# para o iPhone
 
Beginning Iphone
Beginning IphoneBeginning Iphone
Beginning Iphone
 
Resumo Desenvolvimento Mobile
Resumo Desenvolvimento MobileResumo Desenvolvimento Mobile
Resumo Desenvolvimento Mobile
 
Trabalho de informatica - Sistema Operacional iOS
Trabalho de informatica - Sistema Operacional iOSTrabalho de informatica - Sistema Operacional iOS
Trabalho de informatica - Sistema Operacional iOS
 
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveisSeminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
 
Desenvolvimento IOS - Mobile
Desenvolvimento IOS - MobileDesenvolvimento IOS - Mobile
Desenvolvimento IOS - Mobile
 
Ionic Framework - Configuração do ambiente e a criação da primeira APP
Ionic Framework - Configuração do ambiente e a criação da primeira APPIonic Framework - Configuração do ambiente e a criação da primeira APP
Ionic Framework - Configuração do ambiente e a criação da primeira APP
 
Desenvolvimento de Apps e Games para iOS - Parte 2
Desenvolvimento de Apps e Games para iOS - Parte 2Desenvolvimento de Apps e Games para iOS - Parte 2
Desenvolvimento de Apps e Games para iOS - Parte 2
 
Criando aplicações em Android brincando de quebra-cabeça!
Criando aplicações em Android brincando de quebra-cabeça!Criando aplicações em Android brincando de quebra-cabeça!
Criando aplicações em Android brincando de quebra-cabeça!
 
Aptoide
AptoideAptoide
Aptoide
 
Hello world hybrid apps oportunidades com ionic framework v2
Hello world hybrid apps  oportunidades com ionic framework v2Hello world hybrid apps  oportunidades com ionic framework v2
Hello world hybrid apps oportunidades com ionic framework v2
 
Apresentação dev ios
Apresentação dev iosApresentação dev ios
Apresentação dev ios
 
GSOIII - INTRODUÇÃO AO ANDROID
GSOIII - INTRODUÇÃO AO ANDROIDGSOIII - INTRODUÇÃO AO ANDROID
GSOIII - INTRODUÇÃO AO ANDROID
 
Desenvolvendo para Android com PhoneGap
Desenvolvendo para Android com PhoneGapDesenvolvendo para Android com PhoneGap
Desenvolvendo para Android com PhoneGap
 
3
33
3
 
Poo1 aula 1 - java - história e introdução
Poo1   aula 1 - java -  história e introduçãoPoo1   aula 1 - java -  história e introdução
Poo1 aula 1 - java - história e introdução
 
Poo1 aula 1 - java - história e introdução
Poo1   aula 1 - java -  história e introduçãoPoo1   aula 1 - java -  história e introdução
Poo1 aula 1 - java - história e introdução
 
Workshop frontend
Workshop   frontendWorkshop   frontend
Workshop frontend
 
Android: Conheça o Futuro Inevitável
Android: Conheça o Futuro InevitávelAndroid: Conheça o Futuro Inevitável
Android: Conheça o Futuro Inevitável
 

Mais de Erisvaldo Junior

A Era da Mobilidade
A Era da MobilidadeA Era da Mobilidade
A Era da Mobilidade
Erisvaldo Junior
 
Desenvolvimento de Apps e Games para iOS - Parte 1
Desenvolvimento de Apps e Games para iOS - Parte 1Desenvolvimento de Apps e Games para iOS - Parte 1
Desenvolvimento de Apps e Games para iOS - Parte 1
Erisvaldo Junior
 
Desenvolvimento de apps e games para android parte 8
Desenvolvimento de apps e games para android   parte 8Desenvolvimento de apps e games para android   parte 8
Desenvolvimento de apps e games para android parte 8
Erisvaldo Junior
 
Desenvolvimento de Apps e Games para Android - Parte 7
Desenvolvimento de Apps e Games para Android - Parte 7Desenvolvimento de Apps e Games para Android - Parte 7
Desenvolvimento de Apps e Games para Android - Parte 7
Erisvaldo Junior
 
Desenvolvimento de Apps e Games para Android - Parte 6
Desenvolvimento de Apps e Games para Android - Parte 6Desenvolvimento de Apps e Games para Android - Parte 6
Desenvolvimento de Apps e Games para Android - Parte 6
Erisvaldo Junior
 
Desenvolvimento de Apps e Games para Android - Parte 5
Desenvolvimento de Apps e Games para Android - Parte 5Desenvolvimento de Apps e Games para Android - Parte 5
Desenvolvimento de Apps e Games para Android - Parte 5
Erisvaldo Junior
 
Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)
Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)
Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)
Erisvaldo Junior
 
Desenvolvimento de Apps e Games para Android - Parte 4
Desenvolvimento de Apps e Games para Android - Parte 4Desenvolvimento de Apps e Games para Android - Parte 4
Desenvolvimento de Apps e Games para Android - Parte 4
Erisvaldo Junior
 
Desenvolvimento de Apps e Games para Android - Parte 3
Desenvolvimento de Apps e Games para Android - Parte 3Desenvolvimento de Apps e Games para Android - Parte 3
Desenvolvimento de Apps e Games para Android - Parte 3
Erisvaldo Junior
 
Desenvolvimento de Apps e Games para Android - Parte 2
Desenvolvimento de Apps e Games para Android - Parte 2Desenvolvimento de Apps e Games para Android - Parte 2
Desenvolvimento de Apps e Games para Android - Parte 2
Erisvaldo Junior
 
Nokia SDK for Java
Nokia SDK for JavaNokia SDK for Java
Nokia SDK for Java
Erisvaldo Junior
 
Java me record management system
Java me   record management systemJava me   record management system
Java me record management system
Erisvaldo Junior
 
Java me material complementar
Java me   material complementarJava me   material complementar
Java me material complementar
Erisvaldo Junior
 
Java me material complementar
Java me   material complementarJava me   material complementar
Java me material complementar
Erisvaldo Junior
 
Java me record management system
Java me   record management systemJava me   record management system
Java me record management system
Erisvaldo Junior
 
Java me generic connection framework
Java me   generic connection frameworkJava me   generic connection framework
Java me generic connection framework
Erisvaldo Junior
 
Introdução a api de baixo nível do java me
Introdução a api de baixo nível do java meIntrodução a api de baixo nível do java me
Introdução a api de baixo nível do java me
Erisvaldo Junior
 
Introdução a game api do java me
Introdução a game api do java meIntrodução a game api do java me
Introdução a game api do java me
Erisvaldo Junior
 
O futuro do Android
O futuro do AndroidO futuro do Android
O futuro do Android
Erisvaldo Junior
 
Android Aula 5
Android Aula 5Android Aula 5
Android Aula 5
Erisvaldo Junior
 

Mais de Erisvaldo Junior (20)

A Era da Mobilidade
A Era da MobilidadeA Era da Mobilidade
A Era da Mobilidade
 
Desenvolvimento de Apps e Games para iOS - Parte 1
Desenvolvimento de Apps e Games para iOS - Parte 1Desenvolvimento de Apps e Games para iOS - Parte 1
Desenvolvimento de Apps e Games para iOS - Parte 1
 
Desenvolvimento de apps e games para android parte 8
Desenvolvimento de apps e games para android   parte 8Desenvolvimento de apps e games para android   parte 8
Desenvolvimento de apps e games para android parte 8
 
Desenvolvimento de Apps e Games para Android - Parte 7
Desenvolvimento de Apps e Games para Android - Parte 7Desenvolvimento de Apps e Games para Android - Parte 7
Desenvolvimento de Apps e Games para Android - Parte 7
 
Desenvolvimento de Apps e Games para Android - Parte 6
Desenvolvimento de Apps e Games para Android - Parte 6Desenvolvimento de Apps e Games para Android - Parte 6
Desenvolvimento de Apps e Games para Android - Parte 6
 
Desenvolvimento de Apps e Games para Android - Parte 5
Desenvolvimento de Apps e Games para Android - Parte 5Desenvolvimento de Apps e Games para Android - Parte 5
Desenvolvimento de Apps e Games para Android - Parte 5
 
Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)
Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)
Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)
 
Desenvolvimento de Apps e Games para Android - Parte 4
Desenvolvimento de Apps e Games para Android - Parte 4Desenvolvimento de Apps e Games para Android - Parte 4
Desenvolvimento de Apps e Games para Android - Parte 4
 
Desenvolvimento de Apps e Games para Android - Parte 3
Desenvolvimento de Apps e Games para Android - Parte 3Desenvolvimento de Apps e Games para Android - Parte 3
Desenvolvimento de Apps e Games para Android - Parte 3
 
Desenvolvimento de Apps e Games para Android - Parte 2
Desenvolvimento de Apps e Games para Android - Parte 2Desenvolvimento de Apps e Games para Android - Parte 2
Desenvolvimento de Apps e Games para Android - Parte 2
 
Nokia SDK for Java
Nokia SDK for JavaNokia SDK for Java
Nokia SDK for Java
 
Java me record management system
Java me   record management systemJava me   record management system
Java me record management system
 
Java me material complementar
Java me   material complementarJava me   material complementar
Java me material complementar
 
Java me material complementar
Java me   material complementarJava me   material complementar
Java me material complementar
 
Java me record management system
Java me   record management systemJava me   record management system
Java me record management system
 
Java me generic connection framework
Java me   generic connection frameworkJava me   generic connection framework
Java me generic connection framework
 
Introdução a api de baixo nível do java me
Introdução a api de baixo nível do java meIntrodução a api de baixo nível do java me
Introdução a api de baixo nível do java me
 
Introdução a game api do java me
Introdução a game api do java meIntrodução a game api do java me
Introdução a game api do java me
 
O futuro do Android
O futuro do AndroidO futuro do Android
O futuro do Android
 
Android Aula 5
Android Aula 5Android Aula 5
Android Aula 5
 

Último

ATIVIDADES de alfabetização do mês de junho
ATIVIDADES de alfabetização do mês de junhoATIVIDADES de alfabetização do mês de junho
ATIVIDADES de alfabetização do mês de junho
Crisnaiara
 
Vivendo a Arquitetura Salesforce - 02.pptx
Vivendo a Arquitetura Salesforce - 02.pptxVivendo a Arquitetura Salesforce - 02.pptx
Vivendo a Arquitetura Salesforce - 02.pptx
Mauricio Alexandre Silva
 
UFCD_10789_Metodologias de desenvolvimento de software_índice.pdf
UFCD_10789_Metodologias de desenvolvimento de software_índice.pdfUFCD_10789_Metodologias de desenvolvimento de software_índice.pdf
UFCD_10789_Metodologias de desenvolvimento de software_índice.pdf
Manuais Formação
 
A Formação da Moral Cristã na Infância - CESB - DIJ - DIEF - G. de PAIS - 16....
A Formação da Moral Cristã na Infância - CESB - DIJ - DIEF - G. de PAIS - 16....A Formação da Moral Cristã na Infância - CESB - DIJ - DIEF - G. de PAIS - 16....
A Formação da Moral Cristã na Infância - CESB - DIJ - DIEF - G. de PAIS - 16....
MarcoAurlioResende
 
DEUS CURA TODAS AS FERIDAS ESCONDIDAS DA NOSSA.pptx
DEUS CURA TODAS AS FERIDAS ESCONDIDAS DA NOSSA.pptxDEUS CURA TODAS AS FERIDAS ESCONDIDAS DA NOSSA.pptx
DEUS CURA TODAS AS FERIDAS ESCONDIDAS DA NOSSA.pptx
ConservoConstrues
 
MAPAS MENTAIS Conhecimentos Pedagógicos - ATUALIZADO 2024 PROF. Fernanda.pdf
MAPAS MENTAIS Conhecimentos Pedagógicos - ATUALIZADO 2024 PROF. Fernanda.pdfMAPAS MENTAIS Conhecimentos Pedagógicos - ATUALIZADO 2024 PROF. Fernanda.pdf
MAPAS MENTAIS Conhecimentos Pedagógicos - ATUALIZADO 2024 PROF. Fernanda.pdf
GracinhaSantos6
 
Slides Lição 12, CPAD, A Bendita Esperança, A Marca do Cristão, 2Tr24.pptx
Slides Lição 12, CPAD, A Bendita Esperança, A Marca do Cristão, 2Tr24.pptxSlides Lição 12, CPAD, A Bendita Esperança, A Marca do Cristão, 2Tr24.pptx
Slides Lição 12, CPAD, A Bendita Esperança, A Marca do Cristão, 2Tr24.pptx
LuizHenriquedeAlmeid6
 
Slides Lição 13, CPAD, A Cidade Celestial, 2Tr24.pptx
Slides Lição 13, CPAD, A Cidade Celestial, 2Tr24.pptxSlides Lição 13, CPAD, A Cidade Celestial, 2Tr24.pptx
Slides Lição 13, CPAD, A Cidade Celestial, 2Tr24.pptx
LuizHenriquedeAlmeid6
 
Loteria - Adição, subtração, multiplicação e divisão.
Loteria - Adição,  subtração,  multiplicação e divisão.Loteria - Adição,  subtração,  multiplicação e divisão.
Loteria - Adição, subtração, multiplicação e divisão.
Mary Alvarenga
 
Vivendo a Arquitetura Salesforce - 01.pptx
Vivendo a Arquitetura Salesforce - 01.pptxVivendo a Arquitetura Salesforce - 01.pptx
Vivendo a Arquitetura Salesforce - 01.pptx
Mauricio Alexandre Silva
 
A justiça divina segundo o Espiritismo (V2).pdf
A justiça divina segundo o Espiritismo (V2).pdfA justiça divina segundo o Espiritismo (V2).pdf
A justiça divina segundo o Espiritismo (V2).pdf
MarcoAurlioResende
 
UFCD_4667_Preparação e confeção de molhos e fundos de cozinha_índice.pdf
UFCD_4667_Preparação e confeção de molhos e fundos de cozinha_índice.pdfUFCD_4667_Preparação e confeção de molhos e fundos de cozinha_índice.pdf
UFCD_4667_Preparação e confeção de molhos e fundos de cozinha_índice.pdf
Manuais Formação
 
Discursos Éticos e Políticos Acerca do Meio Ambiente e Desenvolvimento Susten...
Discursos Éticos e Políticos Acerca do Meio Ambiente e Desenvolvimento Susten...Discursos Éticos e Políticos Acerca do Meio Ambiente e Desenvolvimento Susten...
Discursos Éticos e Políticos Acerca do Meio Ambiente e Desenvolvimento Susten...
FredPaixaoeSilva
 
Cap. 1_Desenho_Elementos, Suportes e Riscadores
Cap. 1_Desenho_Elementos, Suportes e RiscadoresCap. 1_Desenho_Elementos, Suportes e Riscadores
Cap. 1_Desenho_Elementos, Suportes e Riscadores
Shakil Y. Rahim
 
Aula 1 - Ordem Mundial Aula de Geografia
Aula 1 - Ordem Mundial Aula de GeografiaAula 1 - Ordem Mundial Aula de Geografia
Aula 1 - Ordem Mundial Aula de Geografia
WELTONROBERTOFREITAS
 
Eurodeputados Portugueses 2024-2029 | Parlamento Europeu
Eurodeputados Portugueses 2024-2029 | Parlamento EuropeuEurodeputados Portugueses 2024-2029 | Parlamento Europeu
Eurodeputados Portugueses 2024-2029 | Parlamento Europeu
Centro Jacques Delors
 
agosto - A cidadania - direitos e deveres em países hispanohablantes.pptx
agosto - A cidadania - direitos e deveres em países hispanohablantes.pptxagosto - A cidadania - direitos e deveres em países hispanohablantes.pptx
agosto - A cidadania - direitos e deveres em países hispanohablantes.pptx
ValdineyRodriguesBez1
 
Bem -aventurados pobres de espirito.pptx
Bem -aventurados pobres de espirito.pptxBem -aventurados pobres de espirito.pptx
Bem -aventurados pobres de espirito.pptx
MarcoAurlioResende
 
O Profeta Jeremias - A Biografia de Jeremias.pptx4
O Profeta Jeremias - A Biografia de Jeremias.pptx4O Profeta Jeremias - A Biografia de Jeremias.pptx4
O Profeta Jeremias - A Biografia de Jeremias.pptx4
DouglasMoraes54
 
PROVA DE ARTE PARA IMPRESSÃO - CORRETA gabarito .pdf
PROVA DE ARTE PARA IMPRESSÃO - CORRETA gabarito .pdfPROVA DE ARTE PARA IMPRESSÃO - CORRETA gabarito .pdf
PROVA DE ARTE PARA IMPRESSÃO - CORRETA gabarito .pdf
MiriamCamily
 

Último (20)

ATIVIDADES de alfabetização do mês de junho
ATIVIDADES de alfabetização do mês de junhoATIVIDADES de alfabetização do mês de junho
ATIVIDADES de alfabetização do mês de junho
 
Vivendo a Arquitetura Salesforce - 02.pptx
Vivendo a Arquitetura Salesforce - 02.pptxVivendo a Arquitetura Salesforce - 02.pptx
Vivendo a Arquitetura Salesforce - 02.pptx
 
UFCD_10789_Metodologias de desenvolvimento de software_índice.pdf
UFCD_10789_Metodologias de desenvolvimento de software_índice.pdfUFCD_10789_Metodologias de desenvolvimento de software_índice.pdf
UFCD_10789_Metodologias de desenvolvimento de software_índice.pdf
 
A Formação da Moral Cristã na Infância - CESB - DIJ - DIEF - G. de PAIS - 16....
A Formação da Moral Cristã na Infância - CESB - DIJ - DIEF - G. de PAIS - 16....A Formação da Moral Cristã na Infância - CESB - DIJ - DIEF - G. de PAIS - 16....
A Formação da Moral Cristã na Infância - CESB - DIJ - DIEF - G. de PAIS - 16....
 
DEUS CURA TODAS AS FERIDAS ESCONDIDAS DA NOSSA.pptx
DEUS CURA TODAS AS FERIDAS ESCONDIDAS DA NOSSA.pptxDEUS CURA TODAS AS FERIDAS ESCONDIDAS DA NOSSA.pptx
DEUS CURA TODAS AS FERIDAS ESCONDIDAS DA NOSSA.pptx
 
MAPAS MENTAIS Conhecimentos Pedagógicos - ATUALIZADO 2024 PROF. Fernanda.pdf
MAPAS MENTAIS Conhecimentos Pedagógicos - ATUALIZADO 2024 PROF. Fernanda.pdfMAPAS MENTAIS Conhecimentos Pedagógicos - ATUALIZADO 2024 PROF. Fernanda.pdf
MAPAS MENTAIS Conhecimentos Pedagógicos - ATUALIZADO 2024 PROF. Fernanda.pdf
 
Slides Lição 12, CPAD, A Bendita Esperança, A Marca do Cristão, 2Tr24.pptx
Slides Lição 12, CPAD, A Bendita Esperança, A Marca do Cristão, 2Tr24.pptxSlides Lição 12, CPAD, A Bendita Esperança, A Marca do Cristão, 2Tr24.pptx
Slides Lição 12, CPAD, A Bendita Esperança, A Marca do Cristão, 2Tr24.pptx
 
Slides Lição 13, CPAD, A Cidade Celestial, 2Tr24.pptx
Slides Lição 13, CPAD, A Cidade Celestial, 2Tr24.pptxSlides Lição 13, CPAD, A Cidade Celestial, 2Tr24.pptx
Slides Lição 13, CPAD, A Cidade Celestial, 2Tr24.pptx
 
Loteria - Adição, subtração, multiplicação e divisão.
Loteria - Adição,  subtração,  multiplicação e divisão.Loteria - Adição,  subtração,  multiplicação e divisão.
Loteria - Adição, subtração, multiplicação e divisão.
 
Vivendo a Arquitetura Salesforce - 01.pptx
Vivendo a Arquitetura Salesforce - 01.pptxVivendo a Arquitetura Salesforce - 01.pptx
Vivendo a Arquitetura Salesforce - 01.pptx
 
A justiça divina segundo o Espiritismo (V2).pdf
A justiça divina segundo o Espiritismo (V2).pdfA justiça divina segundo o Espiritismo (V2).pdf
A justiça divina segundo o Espiritismo (V2).pdf
 
UFCD_4667_Preparação e confeção de molhos e fundos de cozinha_índice.pdf
UFCD_4667_Preparação e confeção de molhos e fundos de cozinha_índice.pdfUFCD_4667_Preparação e confeção de molhos e fundos de cozinha_índice.pdf
UFCD_4667_Preparação e confeção de molhos e fundos de cozinha_índice.pdf
 
Discursos Éticos e Políticos Acerca do Meio Ambiente e Desenvolvimento Susten...
Discursos Éticos e Políticos Acerca do Meio Ambiente e Desenvolvimento Susten...Discursos Éticos e Políticos Acerca do Meio Ambiente e Desenvolvimento Susten...
Discursos Éticos e Políticos Acerca do Meio Ambiente e Desenvolvimento Susten...
 
Cap. 1_Desenho_Elementos, Suportes e Riscadores
Cap. 1_Desenho_Elementos, Suportes e RiscadoresCap. 1_Desenho_Elementos, Suportes e Riscadores
Cap. 1_Desenho_Elementos, Suportes e Riscadores
 
Aula 1 - Ordem Mundial Aula de Geografia
Aula 1 - Ordem Mundial Aula de GeografiaAula 1 - Ordem Mundial Aula de Geografia
Aula 1 - Ordem Mundial Aula de Geografia
 
Eurodeputados Portugueses 2024-2029 | Parlamento Europeu
Eurodeputados Portugueses 2024-2029 | Parlamento EuropeuEurodeputados Portugueses 2024-2029 | Parlamento Europeu
Eurodeputados Portugueses 2024-2029 | Parlamento Europeu
 
agosto - A cidadania - direitos e deveres em países hispanohablantes.pptx
agosto - A cidadania - direitos e deveres em países hispanohablantes.pptxagosto - A cidadania - direitos e deveres em países hispanohablantes.pptx
agosto - A cidadania - direitos e deveres em países hispanohablantes.pptx
 
Bem -aventurados pobres de espirito.pptx
Bem -aventurados pobres de espirito.pptxBem -aventurados pobres de espirito.pptx
Bem -aventurados pobres de espirito.pptx
 
O Profeta Jeremias - A Biografia de Jeremias.pptx4
O Profeta Jeremias - A Biografia de Jeremias.pptx4O Profeta Jeremias - A Biografia de Jeremias.pptx4
O Profeta Jeremias - A Biografia de Jeremias.pptx4
 
PROVA DE ARTE PARA IMPRESSÃO - CORRETA gabarito .pdf
PROVA DE ARTE PARA IMPRESSÃO - CORRETA gabarito .pdfPROVA DE ARTE PARA IMPRESSÃO - CORRETA gabarito .pdf
PROVA DE ARTE PARA IMPRESSÃO - CORRETA gabarito .pdf
 

Desenvolvendo Para I Phone Em Linux

  • 1. Erisvaldo Gadelha Saraiva Júnior Desenvolvendo para iPhone em Linux Contato: erisvaldojunior@gmail.com
  • 2. Objetivo Desenvolver aplicações para iPod Touch e iPhone (2G, 3G e 3GS) em Linux, através do iPhone Toolchain. Organize with Sections Não é necessário ter um Mac OS X e utilizar o Xcode para desenvolver para iPhone. Graças ao iPhone Toolchain, é possível desenvolver para iPhone em qualquer distribuição Linux.
  • 3. O que é o iPhone OS? Sistema operacional desenvolvido pela Apple para iPhone e iPod Touch. O iPhone OS atualmente se encontra na versão 3.1 e é baseado no Mac OS X; O kit de desenvolvimento para iPhone OS (o iPhone SDK) Introdução está disponível apenas para Mac OS X. A linguagem de programação utilizada no desenvolvimento para iPhone OS é o Objective-C e a IDE, o XCode. Distribuição de aplicações única e exclusivamente através da iPhone App Store.
  • 4. iPhone App Store Loja de aplicativos para iPhone gerenciada pela Apple e disponível através do próprio aparelho. Em julho de 2008 foi lançada a iPhone App Store, na qual o desenvolvedor paga uma anuidade de U$ 99,00, define o preço final de suas aplicações e recebe 70% do lucro total; A loja vem sendo um sucesso absoluto. Disponível em 77 Motivação 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 iPhone 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.
  • 5. Motivação Segundo a AdMob, a iPhone 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 iPhone App Store (similar ao Bejeweled), rendeu ao seu desenvolvedor, Steve Demeter, U$ 250.000,00 em apenas dois meses.
  • 6. Etapas do Desenvolvimento Configurar o Escrever o Testar no ambiente código iPhone Desenvolvendo para iPhone em Linux
  • 7. Configurar o Ambiente Atualização do Firmware do iPhone; Jailbreak do iPhone; Download do iPhone SDK; Instalação do Toolchain.
  • 8. Atualização do Firmware do iPhone Instalar o iTunes 9 (Mac OS / Windows) http://www.apple.com/br/itunes/download/ Baixar o Firmware 3.0 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).
  • 9. Jailbreak do iPhone Instalar o redsn0w 0.9.2 (Mac OS / Windows) http://www.redsnow.com Realizar o Jailbreak do iPhone http://www.connectionworld.org/como-desbloquear-o-iphone- com-firmware-3-0/
  • 10. Download do iPhone SDK Baixar o iPhone SDK 3.0 (Leopard) http://iphonesdkdev.blogspot.com/2009/06/use-xcode-312-to- build-sdk-30-app-to-30.html Link Direto http://developer.apple.com/iphone/download.action?path=/ip hone/iphone_sdk_3.0__final/iphone_sdk_3.0__leopard__9m2 736__final.dmg
  • 11. O que é o iPhone Toolchain? À grosso modo, um Toolchain é um conjunto de ferramentas de programação que permitem a geração de um outro programa. Instalação do Toolchain No caso do iPhone, o toolchain permite a realização de uma compilação cruzada, possibilitando que o código seja compilado em um computador e executado no próprio iPhone. Site do projeto “iphonedevonlinux” http://code.google.com/p/iphonedevonlinux/ Instruções de instalação http://code.google.com/p/iphonedevonlinux/wiki/Installation
  • 12. 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.
  • 13. Escrever o Código “Hello World” em iPhone OS
  • 14. 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 e é 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 iPhone OS); 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.
  • 15. 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/
  • 16. 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/
  • 17. O código do Hello World que vem com o Toolchain é composto por dois arquivos: HelloToolchain.h e HelloToolchain.m. Hello Toolchain! A função applicationDidFinishLaunching() é chamada assim que a aplicação é iniciada e deve ser implementada de forma a exibir as informações desejadas na tela do aparelho.
  • 18. 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.
  • 19. 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.
  • 21. Criando interfaces no iPhone com o UIKit Porção do UIKit
  • 22. Criando interfaces no iPhone com o UIKit Visão geral do UIKit
  • 23. Testar no iPhone Como testar sua aplicação no iPhone, usando o Toolchain
  • 24. Como testar a aplicação no iPhone? 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.
  • 25. 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