Objota O mundo orientado a objetos

Hello world em objective-C na plataforma iPhone ou iPad

Posted on novembro 2, 2010

Bom galera, como prometido eu vou começar com os meus artigos sobre desenvolvimento para iPhone e iPad (ou melhor iOS).

Como alguns de vocês já devem saber, a linguagem utilizada para desenvolvimento nessa plataforma é o Objective-C (linguagem derivada do C, com um desempenho surpreendente e orientada a objetos).

Para quem não conhece nada da linguagem, não se preocupe, pois no meio dos artigos vou explicar o que cada comando faz e o porque estamos utilizando os mesmos.

Como qualquer primeiro artigo, vamos fazer o clássico “Hello World”, em Objective-C já usando o Kit de desenvolvimento da Apple o UIKit.

No UIKit temos basicamente “tudo o que precisamos” para desenvolver aplicações para o iOS. Dentro desse Kit temos componentes como o UIView, que basicamente todos os componentes gráficos são derivados dessa classe.

Para iniciar nosso projeto precisamos primeiro ter um Mac em mãos (se tiver um PC com hackintosh também pode usar, porém uma hora você irá precisar de um Mac, acredite). Se você ainda não instalou o SDK (que vem com a IDE Xcode), acesse o endereço http://developer.apple.com/devcenter/ios/index.action e faça o download (precisa fazer o cadastro na Apple para fazer o download, é de graça o cadastro para o download).

Feito isso e com o Xcode já instalado, ai você pode iniciar o desenvolvimento de suas aplicações para a plataforma iOS.


Como criar um projeto no Xcode?

Para iniciar seu novo projeto, você deve clicar no ícone do Xcode e irá aparecer uma tela conforme abaixo:

Então clique em Create a new Xcode project, ao clicar nesse botão irá aparecer a tela para selecionar o template do projeto que você quer iniciar, no nosso caso vamos escolher o View-based Application que fica na caixa de seleção Application, no campo Product selecione para qual device você irá iniciar o projeto, no nosso caso você pode selecionar iPad, pois será a mesma coisa para iPhone e iPad, o que vai mudar são as configurações e tamanho de arquivos .xib (arquivos de interface gráfica que ele irá gerar), que nosso assistente irá gerar para nós.

Quando você clicar no botão Choose aparecerá para você a caixa de diálogo onde será salvo o projeto. Escolha um local e salve o projeto como o nome de HelloWorld.

Ao salvar o projeto, nosso ambiente de trabalho vai aparecer na tela para começarmos a trabalhar no nosso código, mas antes vale ressaltar alguns pontos importantes do nosso ambiente de desenvolvimento.

1 – Nessa pasta estão as classes da nossa aplicação, todas as classes criadas, por motivos de organização iremos sempre deixar aqui.

2 – Nessa pasta geralmente deixamos apenas esses arquivos mesmo, que é a classe que irá iniciar nossa aplicação e o arquivos que faz o import automático do frameworks quer serão usados em todas as classes do projeto, por padrão ele importa o UIKit e o Foundation.

3 – Na pasta Resources ficam todos os arquivos de imagem, .plist (arquivos que geralmente são usados como config da aplicação), .xib (arquivos de interface gráfica que são editados pelo Interface Builder) e arquivos de dados (XML, BD, etc.).

4 – Todos os frameworks que foram importados para a aplicação.

5 – O nome da App (executável, vamos dizer assim para os que estão familiarizado com windows) que será gerado.

6 – Na pasta Targets ficam todos os arquivos que irão fazer parte do pacote da aplicação na hora de compilar. Então quando tiver algum problema de um determinado arquivo não estiver sendo interpretado o problema pode esta nessa pasta. Eles são divididos em arquivos que serão compilados, arquivos de resource e frameworks.

7 – Ao clicar em algum arquivo, suas informações para edição ou para visualização serão mostrados aqui.


Vamos ao código

Procure o arquivo HelloWorldViewController.m e dentro desse arquivo encontre o método - (void)viewDidLoad, e dentro desse método coloque o seguinte:

[super viewDidLoad];

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"My first program" message:@"Hello world" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];

[alert show];

[alert release];


Após isso podemos executar nosso primeiro programa em objective-C, indo no menu build e clicando em build and run e ver o resultado (você também pode executar pressionando command + Y).

Se tudo funcionou OK, ou seja, se apareceu um alert na sua tela, veja a explicação do código abaixo, se não baixe os arquivos que estão no final do post e tente executar.

Primeiro chamamos o método viewDidLoad da super classe UIViewController e logo depois alocamos e iniciamos um objeto UIAlertView com os parâmetros para o título, mensagem, delegate (ainda temos muito o que falar sobre delegate), texto para o botão cancelar e falamos que não tem outros botões passando o valor nil em otherButtonTitles.

Então pedimos para exibir chamando o método show do objeto e finalmente removemos o objeto da memória ( [alert release] ).

Bom galera, então e isso. Chegamos ao fim do nosso exemplo mais do que simples de um Hello World em Objective-c Usando o UIKit.

Espero que tenham gostado. Dúvidas reclamações e sugestões postem aqui por favor, para que assim eu possa melhorar nos seguintes post`s.

Vlwww…

arquivos do post

Posted by Pedro

Comentários (20) Trackbacks (1)
  1. Muito legal o tutorial, bem interessante mesmo.

    Espero que voce continue, vou acompanhar.

    Obrigado.

  2. Pedro,

    gostaria de umas dicas para desenvolver um pequeno aplicativo para IPAD. É o seguinte: Montar uma lista com nomes de convidados, com um buscador de nomes em baixo da lista, e acima da lista um filtro: “Não Confirmado” e “Confirmado”, caso o nome for encontrado na lista, ter a possibilidade de ticar e o nome sumiria da lista, e só apareceria no filtro, “confirmado”.
    E a lista ser carregada via TXT file.

    Eu desenvolvo em Pascal e já trabalhei com C e ProC*. ( seria mole).

    Gostaria de dicas de quais classes usar/importar.

    Agradeço se puder me ajudar.

    Abs

    • Bom, para montar um aplicativo simples de lista (acho que é o seu caso), você pode criar um projeto View-based Application e fazer o seguinte, dentro do seu XIB usar na parte superior um controle do tipo UISwitch depois colocar um UITableView embaixo que irá fazer todo o trabalho para de lista para você, e embaixo pode usar o componente UISearchBar.

      Mas cara o segredo para esse seu aplicativo está basicamente no entendimento de NSArray onde vai armazenar as NSString com as linhas do TXT para realizar a pesquisa, entendimento de como funciona o UITableView.

      O código para ler um arquivo do seu bundle(path da sua aplicação) é:
      NSString* fileContent = [NSString stringWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@”nome_arquiv” ofType:@”txt”]];

      NSArray* allLines = [fileContent componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];

      Agora se for carregar de algum servidor é diferente!!

      Bom é isso, espero ter ajudado.

      Abraço.

      UITableView
      http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableView_Class/Reference/Reference.html

  3. Pedro

    Depois que eu comprar um computador MAC, preciso comprar o OBJECTIVE-C ou tem como baixar do site da Apple de forma FREE?

    Qual seu email?

  4. Olá Pedro!

    Você poderia me indicar alguma empresa que desenvolve app para ipad?

    Ou por uma questão de custo/benefício compensa comprar um MAC?

  5. Pedro,

    Eu gostaria de criar um guia de produtos da minha empresa para Ipad e sou leigo no assunto, me diz uma coisa.
    Dá para fazer?
    É possivel alguém sem experiência criar esse guia?
    Qual programa você sugeri para a montagem?

    • Olá amigo…. claro que sim, porém você precisa estudar um pouco sobre programação e objective-C…
      A IDE usada será Xcode sem dúvidas….
      Uma saida é criar um aplicativo WEB para ser acessado via iOS.

      Obrigado!

  6. Oi Pedro,
    gostei da sua explicação, mas vejo que não vou ter tempo para aprender para desenvolver as minhas ideias. Tenho algumas ideias que gostaria de colocar em prática. Você desenvolve aplicativos? Sabe quem poderia fazê-lo?
    Obrigada

  7. Na verdade a leitura conforme você demonstrou funcionaria no simulador, no device é necessário utilizar o diretório de documentos para efetuar a escrita de qualquer arquivo. Conforme o HIG da apple.

    []’s

  8. Que complicação!

  9. Olá Pedro,

    Parabéns pelas informações, é adimiravel o seu conhecimento em app´ s.
    Preciso transformar um aplicativo que eu tenho em um app para i-pad.
    Você faz este tipo de serviço? Gostaria dos seus contatos para conversarmos a respeito.

    Obrigado pela atenção

    Alan Cappucci

  10. Cara tenho um pc com windows 7 acabei de comprar tem como eu criar um app para iphone em meu pc eu vi em um site q falava q tinha como sim mas seria melhor ter um mac???…. O que eu faço??

    • Olha, eu acho mais fácil ter um mac, se quer se aventurar em fazer mac funcionar no pc boa sorte. Você precisa de um PC muito bom, o processador tem que ser intel, pra poder tentar rodar ele numa máquina virtual o no próprio pc. Geralmente o pessoal tenta instalar ele ( no virtual box ) como freeBSD. Boa sorte aí!, mas tendo o mac é mais fácil. abraço.

  11. Eu li sobre um alicativo chamado Codea(para iPad), alguem sabe se ele eh realmente bom(ou pelo menos útil) para desenvolver um aplicativo?

    link do aplicativo:
    https://itunes.apple.com/br/app/codea/id439571171?mt=8

  12. Que sintaxe lixo.

  13. Bacana, parabéns pela iniciativa.


Leave a comment