Primeira aplicação no iOS – Parabéns PPLWARE

36 Comentários

aqui vimos como programar para a plataforma Android, agora vamos voltar a nossa atenção para o iOS. O iOS é o sistema operativo móvel com o maior número de aplicações. Mas qual a razão para isto? O iOS compreende três plataformas, o iPhone, o iPod Touch e o iPad. Além do poder de hardware destes dispositivos, a criação de aplicações é de fácil aprendizagem. Não acredita? Continue a ler…

Primeiro, para programar para o iOS é necessário um Mac a correr o Mac OS X 10.6.6 ou superior. Após verificar que satisfaz esta condição, o próximo passo é fazer download do Xcode e do SDK do iOS 4.3. O Xcode é a ferramenta que lhe permite programar aplicações para Mac e iOS, mas neste post só nos iremos focar no iOS por enquanto.

Para fazer download das ferramentas necessárias basta ir ao site da Apple iOS Dev Center. Para poderem fazer download do Xcode 3.2.6 com o iOS 4.3 SDK é necessário um registo, totalmente gratuito.

Após o download e da instalação, estamos prontos para iniciar a nossa primeira aplicação no iOS. Tal como em outras linguagens de programação, a nossa primeira aplicação será o clássico “Hello World!” para saudar-mos o mundo da programação iOS.

Vamos já a começar a colocar “as mãos na massa”. Abra o Xcode e escolha a opção “Create a new Xcode project”. Na janela seguinte tem um grande número de opções à sua escolha, tanto para o iOS como para Mac. Desta vez, estamos apenas interessados no iOS. Escolha a opção “Window Based-Application“. Ao escolher este tipo de projecto será criada uma aplicação com apenas uma janela, o suficiente para este exemplo.

Após a escolha do tipo de projecto, escolha o nome da aplicação e grave a pasta do projecto onde quiser. A este projecto vamos chamar “Hello World Pplware”. Ao avançar, irá ver a janela principal do Xcode, onde iremos trabalhar a partir de agora.

Em meia dúzia de cliques, o Xcode criou um projecto de iOS totalmente funcional. Tem dúvidas? Se estiver céptico em relação a isso clique em “Build and Run”. O Xcode irá iniciar o iPhone Simulator com a sua aplicação. Ainda é só um ecrã em branco, mas é fantástico não é?

Vamos agora animar um pouco este ecrã. Vamos adicionar uma Label e através de código iremos alterar o texto mostrado por esta label. Voltando ao Xcode, do lado esquerdo temos várias pastas, mas para este exercício só duas nos interessam: Classes e Resources.

Dentro da pasta Resources, temos um ficheiro chamado “MainWindow.xib”. Este ficheiro contém a interface da nossa aplicação. Dê dois cliques sobre este ficheiro e uma nova aplicação será aberta, o Interface Builder.

Do lado esquerdo em cima, temos a janela com os objectos que podemos colocar na nossa aplicação, do lado esquerdo em baixo, temos o conteúdo do nosso .xib. Ao centro temos a interface da nossa aplicação e do lado direito temos a janela das propriedades do objecto seleccionado.

Procure na janela dos objectos (lado esquerdo em cima) uma Label e arraste-a para a interface. Mas, para esta label “comunicar” com o nosso código, temos fazer umas alterações no Xcode. Vá até ao Xcode e dentro da pasta Classes seleccione o ficheiro “Hello_World_PplwareAppDelegate.h”. Atenção à extensão, os nomes dos dois ficheiros dessa pasta são idênticas, excepto na extensão. Ao seleccionar o ficheiro, irá aparecer o código na janela do Xcode. O iOS utiliza a linguagem Objective-C.

Por baixo do “UIWindow *window” coloque a seguinte linha de código:

IBOutlet UILabel *labelTexto

O “IBOutlet” mostra ao Interface Builder que este será um outlet, já irá ver porquê. A “UILabel” é a classe do objecto e “labelTexto” é o nome que atribuímos à label.

Voltando ao Interface Builder, na janela do lado esquerdo, em baixo, clique com o botão direito sobre o “Hello World Pplware App Delegate”. Uma nova janela irá aparecer e aí estará a nossa labelTexto. Para ligar o código à interface é muito simples. Apenas tem de arrastar a labelTexto para a label presente na nossa interface e já está. Nada mais simples não é?

O nosso trabalho no Interface Builder está concluído. Voltando ao Xcode, abra o ficheiro “Hello_World_PplwareAppDelegate.m”. Este é um ficheiro mais longo do que o anterior, mas é bastante simples se o analisarmos por partes. Para este exemplo só nos interessa este bloco:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

Este bloco de código, tal como o nome indica, é chamado assim que a aplicação termina de iniciar. O que queremos é que assim que a aplicação termine de iniciar, o texto da label seja alterado. Para isso, adicione a seguinte linha de código por baixo do comentário (que começa por //):

[labelTexto setText:@"Hello World Pplware!"];

Nesta linha de código dizemos à nossa labelTexto que queremos alterar o seu texto para “Hello World Pplware!”. Salve tudo e clique em “Build and Run”. Voilá, a label tem agora outro texto.

Está concluída a sua primeira aplicação para o iOS. Espero ter-lhe aberto o apetite para continuar a programação para o iOS. Explore, tente, se falhar, tente novamente até conseguir. Veja a documentação da Apple, procure exemplos, e claro, fique atento às dicas do Pplware.

Home: iOS Dev Center

Partilhar:
Tags:

Comentários

36

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de Pedro Pinto

    Bom artigo Daniel! Vamos la aprender Objective-C.

  2. Avatar de hug
    hug

    Muito porreiro, já tinha visto vários post do género para o windows mobile android e andava à espera para ios. Pelos visto já tenho serão para hoje à noite…

  3. Avatar de LeonelF

    Mas então não é possível programar para o iOS em ambiente Windows?

    1. Avatar de Daniel Filipe

      Não, é necessário o Mac OS X 10.6.6 ou superior.

      1. Avatar de António Mendes
        António Mendes

        Não é propriamente correcto. Dá para desenvolver fora, há SDK’s para isso, mas não em Objective-C. No entanto, para oficializar (store & inc), sim é necessário um mac osx

        1. Avatar de Bejense
          Bejense

          Boas:

          Alguem ja experimentou alguma das «receitas» para fazer um “hackintox” – e que tenha funcionado e podia aconselhar uma q tenha funcionado?

          @Antonio Mendes: Gostava de experimentar essa solucao de desenvolver em ambiente windows e depois se valer a pena – aceder a um mac e (store & inc) podes deixar uns links sff?

          1. Avatar de António Mendes
            António Mendes

            Explora este post do StackOverflow, com sugestões de várias pessoas.

            http://stackoverflow.com/questions/928656/iphone-sdk-on-windows-alternative-solutions/1752564#1752564

            Eu já experimentei foi com o AirPlay e recomendo, mas não experimentei outros para comparar.

          2. Avatar de vhr1
            vhr1

            boas

            http://www.insanelymac.com/

            aqui encontras tudo o que precisas para criar um hackintosh.

  4. Avatar de Nuno
    Nuno

    Mais toturials para programar em iOS são muito bem vindos, obrigado…

  5. Avatar de iOCHO5

    Isto promete… vamos ter aqui uma “guerra” entre o Pedro Pinto (android) e o Daniel Filipe (iOS) em programação para smartphones!!!
    Apesar do dia ser o aniversario do PPLWARE, aproveito para dar os parabéns ao Pedro Pinto e Daniel Filipe pela iniciativa.
    E é nisto que este sitio é diferente dos outros… venham os próximos!!!

    1. Avatar de Daniel Filipe

      Hehe, não é uma guerra. Quanto mais informação estiver disponível aos leitores, melhor! 😉

      1. Avatar de iOCHO5

        hehehe, eu sei que não é uma guerra, por isso escrevi entre aspas.
        No 2° “round” vamos ver android ou iOS??? 😉

        1. Avatar de Ghost Rider
          Ghost Rider

          Maemo…

          (estou a brincar :p)

  6. Avatar de ApacheDraco
    ApacheDraco

    Mais uma vez parabéns PplWare, e em particular ao Daniel Filipe por esta iniciativa.
    Vamos lá aprender a programar, tenho mac, xcode e ipod touch, só faltava mesmo isto.
    Obrigado.

  7. Avatar de João Santos
    João Santos

    É pena o artigo já não ser feito com o XCode 4 que entre várias melhorias tem o Interface Builder integrado.

    De salientar também que a menos que paguem a licença de developer não podem testar as vossas aplicações num iPhone real, apenas no simulador.

    Muito bom ainda assim, parabéns! 😀

  8. Avatar de RCS
    RCS

    Bem escrito e motivante. Só faltou explicar como é que se põe a aplicação no dispositivo.

  9. Avatar de Miguel Machado

    Ainda no outro dia tentei começar a dar os primeiros passos, mas com outros projectos, acabei para deixar para depois… Assim que tiver tempo, vou voltar a este artigo 🙂

  10. Avatar de ApacheDraco
    ApacheDraco

    Já me deparei com um problema, o meu xcode é diferente deste, uma vez que tenho a versão 4.02.
    Tenho que ver se consigo adaptar a minha versão.

    1. Avatar de Daniel Filipe

      É uma questão de hábito. O raciocínio deste post continua o mesmo. A localização das opções é que muda.

  11. Avatar de Guilherme de Sousa
    Guilherme de Sousa

    Isto realmente é uma das políticas da apple que me desagrada imenso.. A obrigatoriedade de ter um mac para poder desenvolver para iOS.
    Óbvio que se pode sempre recorrer a uma máquina virtual, mas tal não é legal pois em VM a Apple só autoriza a instalação da versão server (pelo menos da ultima vez que li sobre o assunto, não há muito tempo).

    Acho que perdem bons programadores, e aplicações interessantes com esta política.

    Outra coisa que me desagrada é não suportar Java (só com jailbreak e não é oficial.. nem existe SDK). Mas esta já é discutível por motivos de performance.

    Continuação do bom trabalho Daniel,

    cumps!

  12. Avatar de Dave
    Dave

    Penso que o android tem uma coisa boa em relaçao ao iOs, é programado em java, enquanto o iOS perde um pouco por ser em objectiveC

    1. Avatar de Daniel Filipe

      Na minha opinião essa é uma ideia errada. Em termos de possibilidades de programação e poder, tanto o Objective-C como o Java são muito poderosas.

    2. Avatar de a Friend®

      Errado. No iOs podes programar em Objective-C, C e C++ … existm apps quase 90% feitas em C++ e apenas pequenas partes em Obj-C

      Java perde no que se quer… Interface gráfica… fluidez… SDK rico… esses factores, a meu ver, são a grande desvantagem do Android. A única vantagem que conheço a nível de programação do android é que há mais gente que conhece Java que propriamente Objective-C.

      Mas tendo um Mac… bases de C/C++ … em menos de uma semana nadam como peixes na agua no Obj-C… e o SDK de luxo ajuda muito. 😉

      1. Avatar de Nuno Gonçalves
        Nuno Gonçalves

        Ve-se mesmo que não percebes nadinha de java.

        1. Avatar de a Friend®

          Se percebes tanto, enumera onde é que o Java é melhor.

          Para bitaites já temos a TVI.. espalhem conhecimento, se é que o têm…ou ficam-se pela critica ao mensageiro sem provar o contrário? Tipico.

  13. Avatar de Daniel
    Daniel

    Excelente iniciativa!

    Tenho de deixar os meus parabéns a este blog! Tem tido um crescimento espectacular nos últimos tempos, e gosto de o ler como dos mais badalados blogs estrangeiros!

    Mais uma vez, os meus parabéns e que continuem assim!

  14. Avatar de José Luís

    continuem com esta qualidade nos post’s ^_^’

    Muito Obrigado,

  15. Avatar de vtr
    vtr

    mto bom

    agora cade a primeira aplicacao pro bada ???

  16. Avatar de Filipe Nunes
    Filipe Nunes

    Bom artigo Daniel 🙂
    Eu próprio vou agora começar a criar uma aplicação para o meu iPod e devo informar que é (ou pelo menos era!) possível programar em ubuntu ( http://mobile.dzone.com/news/iphone-app-development-linux ) embora eu não esteja a conseguir fazer o processo de instalação do toolchain (muito em parte devido ao meu muito básico conhecimento de linux).. Se houver interessados e alguém que realmente consiga, que avise 😉
    ah! e suponho q com jailbreak n seja precisa a licença para fazer upload da app pro ipod.

  17. Avatar de Rui
    Rui

    Estou intessadissimo em fazer uma primeira aplicacao para o meu iphone, mac tb tenho.
    Filipe sera que podes colocar um manual para uma aplicacao mais complexa para ver se temos ideias e percever melhor?
    Eu gostava de fazer uma aplicacao que se ligasse a um servidor ftp e lesse uma BD que la tenho em access, achad que e possivel?

    1. Avatar de Daniel Filipe

      Possível, será mas para um post num futuro próximo não terá esse nível de complexidade.

  18. Avatar de Rui
    Rui

    Estou em pulgas para a primeira lição.

  19. Avatar de Pedro Pinho
    Pedro Pinho

    Bom dia,

    Peço desculpa por estar a desenterrar este tópico, mas após exaustivas pesquisas na net, não consigo encontrar o que necessito.

    Preciso de ajuda em consumir um webservice numa aplicação iOS, em que o objectivo é receber uma lista de imóveis e dispo-los numa tableview.

    Obrigado

  20. Avatar de Sérgio Pedro
    Sérgio Pedro

    Bom tutorial para meter as mãos na massa! Parabéns pelo trabalho!

    Para quando uma próxima lição?

    Cumps