Primeira aplicação no iOS – Parabéns PPLWARE
Já 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
Este artigo tem mais de um ano
Bom artigo Daniel! Vamos la aprender Objective-C.
Obrigado Pedro! 😉
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…
Mas então não é possível programar para o iOS em ambiente Windows?
Não, é necessário o Mac OS X 10.6.6 ou superior.
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
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?
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.
boas
http://www.insanelymac.com/
aqui encontras tudo o que precisas para criar um hackintosh.
Mais toturials para programar em iOS são muito bem vindos, obrigado…
E mais virão… 😀
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!!!
Hehe, não é uma guerra. Quanto mais informação estiver disponível aos leitores, melhor! 😉
hehehe, eu sei que não é uma guerra, por isso escrevi entre aspas.
No 2° “round” vamos ver android ou iOS??? 😉
Maemo…
(estou a brincar :p)
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.
É 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! 😀
Bem escrito e motivante. Só faltou explicar como é que se põe a aplicação no dispositivo.
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 🙂
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.
É uma questão de hábito. O raciocínio deste post continua o mesmo. A localização das opções é que muda.
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!
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
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.
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. 😉
Ve-se mesmo que não percebes nadinha de java.
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.
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!
continuem com esta qualidade nos post’s ^_^’
Muito Obrigado,
mto bom
agora cade a primeira aplicacao pro bada ???
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.
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?
Possível, será mas para um post num futuro próximo não terá esse nível de complexidade.
Estou em pulgas para a primeira lição.
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
Bom tutorial para meter as mãos na massa! Parabéns pelo trabalho!
Para quando uma próxima lição?
Cumps