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:
HACKINTOSH!!!
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.
Hackintosh - 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.
Hackintosh - Instalação
Dê 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.
Hackintosh - Instalação
Aparecerá uma tela de carregamento com a logo da Apple, como esta. Espere.
Hackintosh - 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.
Hackintosh - Instalação
Aparecerá uma tela de boas vindas da instalação do MAC OS X. Clique em
Continuar .
Hackintosh - Instalação
ATENÇÃ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 em
Install.
Hackintosh - Instalação
PARABÉNS!!! Você instalou o MAC OS X no seu PC!!!
A 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!!!
O site
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.
Arquivos 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.
Arquivo 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;
cetfundaoViewController.h
#import <UIKit/UIKit.h>
@interface cetfundaoViewController : UIViewController
{
IBOutlet UILabel *title;
IBOutlet UIScrollView *scrView;
IBOutlet UIPageControl *pageControl;
}
Inicialização do controle de
páginas
self.title.text = @"CET Fundao on iPhone!";
scrView.contentSize = CGSizeMake(
scrView.frame.size.width * 4,
scrView.frame.size.height);
pageControl.numberOfPages = 4;
Pegar uma imagem de uma
URL
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];
Configurar 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)
Exibindo as imagens nos frames
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];
Algumas telas
Telas
Vamos ver a
aplicação
rodando?
Download

ppt - LCG-UFRJ