Objective C & iPhone

23
Objective C & iPhone Objective C & iPhone Flávio Almada de França

description

Objective C & iPhone. Flávio Almada de França. Como começar???. Desde o começo tive um problema grande: ambiente Para desenvolver para iPhone é importante ter um ambiente MAC OS X instalado. Processadores sem Virtualização  tentativa de VirtualBox fracassada A solução encontrada: - PowerPoint PPT Presentation

Transcript of Objective C & iPhone

Page 1: Objective C & iPhone

Objective C & iPhoneObjective C & iPhone

Flávio Almada de França

Page 2: Objective C & iPhone

Como começar???Como começar???

• Desde o começo tive um problema grande: ambiente

• Para desenvolver para iPhone é importante ter um ambiente MAC OS X instalado.

• Processadores sem Virtualização tentativa de VirtualBox fracassada

• A solução encontrada:

HACKINTOSH!!!

Page 3: Objective C & iPhone

Hackintosh – O que é?Hackintosh – O que é?

• É uma técnica para instalar o MAC OS X em um PC.

• Isso pode ser feito com distribuições modificadas do MAC OS, ou seja, versões que trocam algumas coisas do Sistema Operacional para tornarem-se compatíveis a vários hardwares.

• Também é possível utilizar o próprio MAC OS original, mas poucos hardwares tem suporte.

• Os computadores da Apple geralmente utilizam arquitetura Intel, por isso, o Hackintosh geralmente funciona bem em processadores Intel.

Page 4: Objective C & iPhone

Hackintosh - InstalaçãoHackintosh - Instalação

• A configuração da minha máquina é a seguinte:

Processador: Intel Core 2 Duo EA4500 2.2 GHz

Placa-Mãe: Asus P5GC-MX

Placa de Vídeo: Geeforce XFX

HDs: IDE 80 Gb com Windows e SATA 250 Gb para o MAC OS

• Com essa configuração funcionou direitinho! Não precisei fazer nenhuma alteração de hardware!

• Tudo o que precisamos é de um DVD com a imagem do Hackintosh e o Chameleon Bootloader.

Page 5: Objective C & iPhone

Hackintosh - InstalaçãoHackintosh - InstalaçãoDê o boot pelo DVD e aperte F8. Aparecerá a seguinte tela mostrando as opções de boot: o DVD e seus HDs. Selecione Hazard_10.6.6i.

Page 6: Objective C & iPhone

Hackintosh - InstalaçãoHackintosh - Instalação

Aparecerá uma tela de carregamento com a logo da Apple, como esta. Espere.

Page 7: Objective C & iPhone

Hackintosh - InstalaçãoHackintosh - Instalação

Ao aparecer a tela inicial de instalação, selecione o idioma no qual deseja instalar o MAC OS X e clique na seta para avançar.

Page 8: Objective C & iPhone

Hackintosh - InstalaçãoHackintosh - InstalaçãoAparecerá uma tela de boas vindas da instalação do MAC OS X. Clique em Continuar .

Page 9: Objective C & iPhone

Hackintosh - InstalaçãoHackintosh - InstalaçãoATENÇÃO!!!

Agora temos que formatar o HD para que ele fique no formato aceito pelo MAC OS X. Essa parte é muito importante!!!

1.Clique em Utilities Disk Utility ou em Utilitários Utilitário de Disco, se estiver escolhido português.

2.Clique na aba “erase” ou “apagar” e selecione a opção Mac OS Extended (Journaled) ou Mac OS Expandido (Reg. Cronológico), se estiver em português

3.Digite um nome para a partição e clique em “erase” ou “apagar”.

4.Espere a formatação terminar.

5.Agora feche o aplicativo no X, voltando para a tela de instalação

6.Agora o disco aparecerá nas opções de instalação. Selecione-o e clique emInstall.

Page 10: Objective C & iPhone

Hackintosh - InstalaçãoHackintosh - Instalação

PARABÉNS!!! Você instalou o MAC OS X no seu PC!!!

Page 11: Objective C & iPhone

A aplicação escolhidaA aplicação escolhida

• O problema:

• Visualizar as câmeras do Fundão no meio do engarrafamento para tomar a melhor decisão de como sair do Fundão.

• Já existe um site que faz isso (CET Fundão), mas a maioria das pessoas não pode acessar internet do computador antes de sair da faculdade.

• A solução encontrada:

CET Fundão for iPhone!!!

Page 12: Objective C & iPhone

O siteO site

Page 13: Objective C & iPhone

O que foi necessário aprender?O que foi necessário aprender?

• Como trabalhar com frames e page control (para passar as câmeras).

• Como pegar a imagem de uma URL.

• Como colocar uma imagem em cada frame.

Page 14: Objective C & iPhone

Arquivos necessáriosArquivos necessários

• main.m: Arquivo com a função inicial, que instancia o AutoreleasePool.

• cetfundaoAppDelegate.h: Declara a window e o viewController.

• cetfundaoAppDelegate.m: Seta alguns métodos para trabalhar com eventos.

• cetfundaoViewController.h: Declara title, scrView e pageControl

• cetfundaoViewController.m: O principal arquivo do sistema, ele que controla toda a view, controlando as páginas e colocando as imagens nos frames.

Page 15: Objective C & iPhone

Arquivo main.mArquivo main.m

#import <UIKit/UIKit.h>

int main(int argc, char *argv[])

{

NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

int retVal = UIApplicationMain(argc, argv, nil, nil);

[pool release]; return retVal;

}

Page 16: Objective C & iPhone

cetfundaoViewController.hcetfundaoViewController.h

#import <UIKit/UIKit.h>

@interface cetfundaoViewController : UIViewController

{

IBOutlet UILabel *title;

IBOutlet UIScrollView *scrView;

IBOutlet UIPageControl *pageControl;

}

Page 17: Objective C & iPhone

Inicialização do controle de Inicialização do controle de páginaspáginas

self.title.text = @"CET Fundao on iPhone!";

scrView.contentSize = CGSizeMake(

scrView.frame.size.width * 4,

scrView.frame.size.height);

pageControl.numberOfPages = 4;

Page 18: Objective C & iPhone

Pegar uma imagem de uma Pegar uma imagem de uma URLURL

NSURL *url = [NSURL URLWithString:

@"http://diseg.pu.ufrj.br/img/CAMERA_PREFEITURA.jpg"];

NSData *imgData = [NSData dataWithContentsOfURL: url];

UIImage *imgCamera = [UIImage imageWithData: imgData];

UIImageView *imgView = [[ UIImageView alloc ] initWithImage: imgCamera];

Page 19: Objective C & iPhone

Configurar o tamanho do frameConfigurar o tamanho do frame

CGRect frame = scrView.frame;

frame.size.width = scrView.frame.size.width;

imgView.frame = frame;

Obs: É possível fazer isso de duas formas:

1) Definindo o Width ou Height do frame (como no exemplo)

2) Definindo uma coordenada da origem do frame (X ou Y)

Page 20: Objective C & iPhone

Exibindo as imagens nos Exibindo as imagens nos framesframes

Para exibir as imagens nos frames, você deve usar a propriedade addSubview, do objeto scrView, que é um objeto da classe UIScrollView, que declaramos no arquivo cetfundaoViewController.h.

[scrView addSubview:imgView];

[scrView addSubview:imgView2];

[scrView addSubview:imgView3];

[scrView addSubview:imgView4];

Page 21: Objective C & iPhone

Algumas telasAlgumas telas

Page 22: Objective C & iPhone

TelasTelas

Page 23: Objective C & iPhone

Vamos ver a Vamos ver a

aplicação aplicação

rodando?rodando?