iOS - Primera aplicación para iPhone

Creación de la primera aplicación

Ahora vamos a crear una aplicación simple de vista única (una aplicación en blanco) que se ejecutará en el simulador de iOS.

Los pasos son los siguientes.

Step 1 - Abra Xcode y seleccione Create a new Xcode project.

Step 2 - Seleccionar Single View Application.

Step 3 - Ingrese el nombre del producto, es decir, el nombre de la aplicación, el nombre de la organización y luego el identificador de la empresa.

Step 4 - Asegúrese de que Use Automatic Reference Countingse selecciona para liberar automáticamente los recursos asignados una vez que salga del alcance. Haga clic en Siguiente.

Step 5 - Seleccione el directorio para el proyecto y seleccione crear.

Step 6 - Verá una pantalla de la siguiente manera -

En la pantalla de arriba, podrá seleccionar las orientaciones compatibles, compilar y liberar configuraciones. Hay un objetivo de implementación de campo, la versión del dispositivo desde la que queremos admitir, seleccionemos 4.3, que es el objetivo de implementación mínimo permitido ahora. Por ahora, estos no son necesarios y centrémonos en ejecutar la aplicación.

Step 7 - Ahora, seleccione el simulador de iPhone en el menú desplegable cerca del botón Ejecutar y seleccione Ejecutar.

Step 8- Eso es todo; ha ejecutado con éxito su primera aplicación. Obtendrá una salida de la siguiente manera:

Ahora cambiemos el color de fondo, solo para comenzar con el generador de interfaces. Seleccione ViewController.xib. Seleccione la opción de fondo en el lado derecho, cambie el color y ejecute.

En el proyecto anterior, de forma predeterminada, el destino de implementación se habría establecido en iOS 6.0 y se habilitará el diseño automático. Para asegurarnos de que nuestra aplicación se ejecute en dispositivos con iOS 4.3 en adelante, ya hemos modificado el objetivo de implementación al inicio de la creación de esta aplicación, pero no deshabilitamos el diseño automático.

Para deshabilitar el diseño automático, debemos deseleccionar la casilla de verificación del diseño automático en el inspector de archivos de cada plumilla, es decir, los archivos xib. Las distintas secciones del IDE del proyecto Xcode se muestran en la siguiente figura (Cortesía: documentación de usuario de Apple Xcode 4).

El inspector de archivos se encuentra en la barra de selección del inspector como se muestra arriba y el diseño automático se puede desmarcar allí. El diseño automático se puede usar cuando desea apuntar solo a dispositivos iOS 6. Además, podrá utilizar muchas funciones nuevas, como la libreta de ahorros, si eleva el objetivo de implementación a iOS 6. Por ahora, sigamos con iOS 4.3 como objetivo de implementación.

Código de la primera aplicación iOS

Encontrará cinco archivos diferentes que se habrían generado para su aplicación. Se enumeran de la siguiente manera:

  • 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 hereda de UIResponder que maneja eventos de iOS.

  • Implementa los métodos de delegado de UIApplicationDelegate, que proporciona eventos clave de la aplicación, como el lanzamiento finalizado, a punto de finalizar, etc.

  • Objeto UIWindow para gestionar y coordinar las distintas vistas en la pantalla del dispositivo iOS. Es como la vista base sobre la que se cargan todas las demás vistas. Generalmente, solo hay una ventana para una aplicación.

  • UIViewController para manejar el flujo de pantalla.

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 -

  • Los delegados de la aplicación UIA se definen aquí. Todos los métodos definidos anteriormente son delegados de aplicaciones de UI y no contienen métodos definidos por el usuario.

  • El objeto UIWindow se asigna para contener la aplicación asignada.

  • UIViewController se asigna como controlador de vista inicial de la ventana.

  • Para hacer visible la ventana, se llama al método makeKeyAndVisible.

ViewController.h

#import <UIKit/UIKit.h> 

// Interface for class ViewController
@interface ViewController : UIViewController 

@end

Important items in code -

  • La clase ViewController hereda UIViewController, que proporciona el modelo de gestión de vistas fundamental para las aplicaciones 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 -

  • Dos métodos implementados aquí se definen en la clase base UIViewController.

  • Realice la configuración inicial en viewDidLoad, que se llama después de que se carga la vista.

  • Se llama al método didReceiveMemoryWarning en caso de advertencia de memoria.