SlideShare uma empresa Scribd logo
Erisvaldo Gadelha Saraiva Júnior



Desenvolvendo para

iOS em Linux
                        E-mail: erisvaldojunior@gmail.com
                             Site: http://erisvaldojunior.com
                 Twitter: http://twitter.com/erisvaldojunior
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.
Sobre a Yupi Studios




    www.yupistudios.com
Games (MinerMan)
Aplicativos (Pump Me Up!)
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.
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.
Desenvolvendo para iOS em Mac OS X
             XCode IDE, Interface Builder e iPhone Simulator
Introdução
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.
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.
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
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
Etapas do Desenvolvimento


 Configurar o   Escrever o             Testar no
  ambiente        código               aparelho




                        Desenvolvendo para iOS em Linux
Configurar o Ambiente

         Atualização do Firmware do aparelho;
                         Jailbreak do aparelho;
                        Download do iOS SDK;
                      Instalação do Toolchain.
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).
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/
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
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
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 iOS
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.
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 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.
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 aparelho



Como testar sua aplicação no aparelho, usando o Toolchain
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.
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

PDF
Desenvolvimento de Apps e Games para iOS - Parte 2
PDF
Plataforma iOS
PPTX
Trabalho de informatica - Sistema Operacional iOS
PDF
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android
PPSX
Desenvolvimento IOS - Mobile
PDF
Desenvolvendo Para I Phone Em Linux
PPTX
Introdução Ao Desenvolvimento Para Iphone
PPTX
Plataforma móvel ou aplicacoes moveis
Desenvolvimento de Apps e Games para iOS - Parte 2
Plataforma iOS
Trabalho de informatica - Sistema Operacional iOS
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android
Desenvolvimento IOS - Mobile
Desenvolvendo Para I Phone Em Linux
Introdução Ao Desenvolvimento Para Iphone
Plataforma móvel ou aplicacoes moveis

Mais procurados (20)

PDF
Android Aula 1
PDF
Desenvolvimento de Apps e Games para Android - Parte 1
PDF
Programando para Iphone e Ipad
PDF
Apresentação - Sistemas Operacionais para Smartphones
PDF
Seminário sistemas operacionais móveis
PPTX
Apresentação de minha Monografia do curso de Sistema e Mídias Digitais
PDF
Curso de Google Android - Aula 1
PDF
Música 2.0 e Aplicativos Mobile
PPTX
SISTEMAS OPERACIONAIS MÓVEIS (S.O)
DOCX
PDF
Desenvolvimento de Jogos Para Dispositivos Móveis - UFRJ - GECOM2011
PPTX
PPTX
Iniciando o Desenvolvimento para o Google Android
PPTX
Sistema Operacional Android
PDF
Flash mobile
PDF
Android Aula 2
PDF
Desenvolvimento Mobile
PDF
Curso de Android - aula 3
PDF
Mobile - Uma introdução sobre sistemas para dispositivos móveis.
PDF
Android - Conceito e Arquitetura
Android Aula 1
Desenvolvimento de Apps e Games para Android - Parte 1
Programando para Iphone e Ipad
Apresentação - Sistemas Operacionais para Smartphones
Seminário sistemas operacionais móveis
Apresentação de minha Monografia do curso de Sistema e Mídias Digitais
Curso de Google Android - Aula 1
Música 2.0 e Aplicativos Mobile
SISTEMAS OPERACIONAIS MÓVEIS (S.O)
Desenvolvimento de Jogos Para Dispositivos Móveis - UFRJ - GECOM2011
Iniciando o Desenvolvimento para o Google Android
Sistema Operacional Android
Flash mobile
Android Aula 2
Desenvolvimento Mobile
Curso de Android - aula 3
Mobile - Uma introdução sobre sistemas para dispositivos móveis.
Android - Conceito e Arquitetura
Anúncio

Destaque (20)

PDF
Primeiros passos no iOS com Objective-C
PPTX
SISTEMA OPERATIVO IOS
PPTX
Sistema Operativo iOS
DOCX
Sistema Operacional iOS
PPTX
IOS sistema operacional
PPTX
SISTEMA OPERATIVO IOS
PPTX
Principales características de windows
PDF
Desenvolvimento de Apps e Games para iOS - Parte 1
PDF
Swift em 45 minutos - TDC Sao Paulo 2014
PDF
Mercado iOS & Swift vs Objective-C
PDF
Introdução a Plataforma Android
PPTX
Introdução ao Swift por Henrique Morbin – iOS Developer
PPTX
Desvendando o mundo iOS
PDF
Programação funcional com swift cocoa heads 24-03
PDF
Componentização e padrões de projeto e interface em Android
PPTX
Padrões de projeto para o Android - Interação para desenvolvedores
PDF
SISTEMA OPERATIVO IOS
PDF
Semcomp - USP São Carlos - Desenvolvendo um aplicativo iOS com Swift
PPTX
Sistema Operacional Móvel iOS
PPT
Capítulo 5 Sistemas Operacionais Modernos
Primeiros passos no iOS com Objective-C
SISTEMA OPERATIVO IOS
Sistema Operativo iOS
Sistema Operacional iOS
IOS sistema operacional
SISTEMA OPERATIVO IOS
Principales características de windows
Desenvolvimento de Apps e Games para iOS - Parte 1
Swift em 45 minutos - TDC Sao Paulo 2014
Mercado iOS & Swift vs Objective-C
Introdução a Plataforma Android
Introdução ao Swift por Henrique Morbin – iOS Developer
Desvendando o mundo iOS
Programação funcional com swift cocoa heads 24-03
Componentização e padrões de projeto e interface em Android
Padrões de projeto para o Android - Interação para desenvolvedores
SISTEMA OPERATIVO IOS
Semcomp - USP São Carlos - Desenvolvendo um aplicativo iOS com Swift
Sistema Operacional Móvel iOS
Capítulo 5 Sistemas Operacionais Modernos
Anúncio

Semelhante a Desenvolvendo para iOS em linux (20)

PDF
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
PDF
Beginning Iphone
PPT
Explorando o Mundo Apple, Desenvolvendo Aplicativos para IOS - Felipe Martins...
PDF
Introdução ao desenvolvimento de apps para iOS
PDF
8 d iniciando_iphone_ios4
PDF
TDC 2010: Desenvolvimento para iPhone
PPTX
TDC 2012 - Desenvolvimento de Jogos Mobile
PPS
Desenvolvimento de aplicações nativas para ios e android
PDF
Iniciando com IphoneDev
PDF
Games e a App Store
PPT
Resumo Desenvolvimento Mobile
DOCX
Introdução a programação para plataforma iOS
PDF
Mobile - Aula 3 - Centro Europeu
PDF
EDTED - Frameworks mobile multiplataforma
KEY
Keynote ios
PPTX
Ciclo de palestras da JFRJ - Aplicativos Móveis
PPTX
Palestra Dispositivos Móveis
PPTX
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
Beginning Iphone
Explorando o Mundo Apple, Desenvolvendo Aplicativos para IOS - Felipe Martins...
Introdução ao desenvolvimento de apps para iOS
8 d iniciando_iphone_ios4
TDC 2010: Desenvolvimento para iPhone
TDC 2012 - Desenvolvimento de Jogos Mobile
Desenvolvimento de aplicações nativas para ios e android
Iniciando com IphoneDev
Games e a App Store
Resumo Desenvolvimento Mobile
Introdução a programação para plataforma iOS
Mobile - Aula 3 - Centro Europeu
EDTED - Frameworks mobile multiplataforma
Keynote ios
Ciclo de palestras da JFRJ - Aplicativos Móveis
Palestra Dispositivos Móveis
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch

Mais de Erisvaldo Junior (20)

PDF
A Era da Mobilidade
PDF
Desenvolvimento de apps e games para android parte 8
PDF
Desenvolvimento de Apps e Games para Android - Parte 7
PDF
Desenvolvimento de Apps e Games para Android - Parte 6
PDF
Desenvolvimento de Apps e Games para Android - Parte 5
PDF
Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)
PDF
Desenvolvimento de Apps e Games para Android - Parte 4
PDF
Desenvolvimento de Apps e Games para Android - Parte 3
PDF
Desenvolvimento de Apps e Games para Android - Parte 2
PDF
Nokia SDK for Java
PDF
Java me record management system
PDF
Java me material complementar
PDF
Java me material complementar
PDF
Java me record management system
PDF
Java me generic connection framework
PDF
Introdução a api de baixo nível do java me
PDF
Introdução a game api do java me
PDF
O futuro do Android
PDF
Android Aula 5
PDF
Android Aula 4
A Era da Mobilidade
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 6
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 - Parte 4
Desenvolvimento de Apps e Games para Android - Parte 3
Desenvolvimento de Apps e Games para Android - Parte 2
Nokia SDK for Java
Java me record management system
Java me material complementar
Java me material complementar
Java me record management system
Java me generic connection framework
Introdução a api de baixo nível do java me
Introdução a game api do java me
O futuro do Android
Android Aula 5
Android Aula 4

Último (8)

PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PPTX
Mecânico de Manutenção de Equipamentos.pptx
PDF
Manejo integrado de pragas na cultura do algodão
PPTX
Arquitetura de computadores - Memórias Secundárias
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Viasol Energia Solar -Soluções para geração e economia de energia
Mecânico de Manutenção de Equipamentos.pptx
Manejo integrado de pragas na cultura do algodão
Arquitetura de computadores - Memórias Secundárias
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx

Desenvolvendo para iOS em linux

  • 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
  • 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.
  • 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