iOS - Primeiro aplicativo para iPhone

Criação do primeiro aplicativo

Agora vamos criar um aplicativo de visualização única simples (um aplicativo em branco) que será executado no simulador iOS.

As etapas são as seguintes.

Step 1 - Abra o Xcode e selecione Create a new Xcode project.

Step 2 - Selecione Single View Application.

Step 3 - Insira o nome do produto, ou seja, o nome do aplicativo, o nome da organização e o identificador da empresa.

Step 4 - Certifique-se de que Use Automatic Reference Countingé selecionado para liberar automaticamente os recursos alocados, uma vez que sai do escopo. Clique em Avançar.

Step 5 - Selecione o diretório para o projeto e selecione criar.

Step 6 - Você verá a seguinte tela -

Na tela acima, você poderá selecionar as orientações com suporte, configurações de construção e liberação. Há um alvo de implantação de campo, a versão do dispositivo a partir da qual queremos oferecer suporte, vamos selecionar 4.3, que é o alvo de implantação mínimo permitido agora. Por enquanto, eles não são obrigatórios e vamos nos concentrar na execução do aplicativo.

Step 7 - Agora, selecione o simulador de iPhone no menu suspenso próximo ao botão Executar e selecione executar.

Step 8- É isso aí; você executou com sucesso seu primeiro aplicativo. Você obterá uma saída da seguinte forma -

Agora vamos mudar a cor de fundo, apenas para começar com o construtor de interface. Selecione ViewController.xib. Selecione a opção de fundo no lado direito, mude a cor e corra.

No projeto acima, por padrão, o destino de implantação seria definido como iOS 6.0 e o layout automático estaria habilitado. Para garantir que nosso aplicativo seja executado em dispositivos com iOS 4.3 em diante, já modificamos o destino de implantação no início da criação deste aplicativo, mas não desabilitamos o layout automático.

Para desabilitar o layout automático, precisamos desmarcar a caixa de seleção do layout automático no inspetor de arquivo de cada ponta, ou seja, os arquivos xib. As várias seções do IDE do projeto Xcode são fornecidas na figura a seguir (cortesia: documentação do usuário do Apple Xcode 4).

O inspetor de arquivos está localizado na barra de seleção do inspetor, conforme mostrado acima, e o layout automático pode ser desmarcado lá. O layout automático pode ser usado quando você deseja segmentar apenas dispositivos iOS 6. Além disso, você poderá usar muitos recursos novos, como caderneta, se aumentar o destino de implantação para iOS 6. Por enquanto, vamos nos ater ao iOS 4.3 como destino de implantação.

Código do primeiro aplicativo iOS

Você encontrará cinco arquivos diferentes que seriam gerados para seu aplicativo. Eles estão listados a seguir -

  • AppDelegate.h
  • AppDelegate.m
  • ViewController.h
  • ViewController.m
  • ViewController.xib

AppDelegate.h

// Header File that provides all UI related items. 
#import <UIKit/UIKit.h> 

// Forward declaration (Used when class will be defined /imported in future)
@class ViewController;  

// Interface for Appdelegate
@interface AppDelegate : UIResponder <UIApplicationDelegate>

// Property window 
@property (strong, nonatomic) UIWindow *window; 

// Property Viewcontroller

@property (strong, nonatomic) ViewController *viewController;
//this marks end of interface 
@end

Important items in code -

  • AppDelegate herda de UIResponder que lida com eventos iOS.

  • Implementa os métodos delegados de UIApplicationDelegate, que fornece eventos-chave do aplicativo como inicialização concluída, prestes a encerrar e assim por diante.

  • Objeto UIWindow para gerenciar e coordenar as várias visualizações na tela do dispositivo iOS. É como a visualização de base sobre a qual todas as outras visualizações são carregadas. Geralmente, há apenas uma janela para um aplicativo.

  • UIViewController para lidar com o fluxo da tela.

AppDelegate.m

// Imports the class Appdelegate's interface
import "AppDelegate.h" 

// Imports the viewcontroller to be loaded
#import "ViewController.h" 

// Class definition starts here
@implementation AppDelegate 


// Method to intimate us that the application launched successfully
- (BOOL)application:(UIApplication *)application 
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
   self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
   
   // Override point for customization after application launch.
   self.viewController = [[ViewController alloc]
   initWithNibName:@"ViewController" bundle:nil];
   self.window.rootViewController = self.viewController;
   [self.window makeKeyAndVisible];
   return YES;
}

- (void)applicationWillResignActive:(UIApplication *)application {
   /* Use this method to release shared resources, save user data,
   invalidate timers, and store enough application state information
   to restore your application to its current state in case it is 
   terminated later. If your application supports background 
   execution, this method is called instead of
   applicationWillTerminate: when the user quits.*/
}

- (void)applicationWillEnterForeground:(UIApplication *)application {
   /* Called as part of the transition from the background to the 
   inactive state. Here you can undo many of the changes made on 
   entering the background.*/
}

- (void)applicationDidBecomeActive:(UIApplication *)application {
   /* Restart any tasks that were paused (or not yet started) while 
   the application was inactive. If the application was previously in 
   the background, optionally refresh the user interface.*/
}

- (void)applicationWillTerminate:(UIApplication *)application {
   /* Called when the application is about to terminate. Save data if 
   appropriate. See also applicationDidEnterBackground:. */
}

- (void)applicationWillTerminate:(UIApplication *)application {
   /* Called when the application is about to terminate. Save data if appropriate.
   See also applicationDidEnterBackground:. */
}
@end

Important items in code -

  • Os delegados UIApplication são definidos aqui. Todos os métodos definidos acima são delegados de aplicativos de UI e não contêm métodos definidos pelo usuário.

  • O objeto UIWindow é alocado para conter o aplicativo alocado.

  • UIViewController é alocado como controlador de visualização inicial da janela.

  • Para tornar a janela visível, o método makeKeyAndVisible é chamado.

ViewController.h

#import <UIKit/UIKit.h> 

// Interface for class ViewController
@interface ViewController : UIViewController 

@end

Important items in code -

  • A classe ViewController herda o UIViewController, que fornece o modelo de gerenciamento de visualização fundamental para os aplicativos iOS.

ViewController.m

#import "ViewController.h"

// Category, an extension of ViewController class
@interface ViewController ()

@end

@implementation ViewController  

- (void)viewDidLoad {
   [super viewDidLoad];
   // Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning {
   [super didReceiveMemoryWarning];
   // Dispose of any resources that can be recreated.
}
@end

Important items in code -

  • Dois métodos implementados aqui são definidos na classe base UIViewController.

  • Faça a configuração inicial em viewDidLoad, que é chamada após o carregamento da visualização.

  • O método didReceiveMemoryWarning é chamado em caso de aviso de memória.