1 INTRODUCCIÓN Conocer los aspectos básicos de desarrollo en la plataforma ios. Instalación de Xcode 2 Xcode es la herramienta que se udliza para desarrollar aplicaciones para Mac, iphone, ipad y ipod touch. Incluye un simulador y los SDK de ios y OS X. Es gratuita, se puede descargar de: hop://developer.apple.com 1
Preparando el dispositivo 3 Para correr aplicaciones en un disposidvo móvil, es necesario registrarlo. Sólo un usuario registrado como desarrollador puede configurar disposidvos para probar sus aplicaciones. El disposidvo se puede registrar en la página de desarrollador o directamente en Xcode. Distribuyendo apps 4 Generar un cerdficado y registrar disposidvos 2
5 Pasos para correr apps en el dispositivo 1. Darse de alta como desarrollador ($99 USD anuales) 2. Generar los cerdficados. 3. Registrar los disposidvos (pueden ser hasta 100) 4. En Xcode, indicar que la app corre en el disposidvo conectado a la computadora. Usando Xcode 6 Abre Xcode, desde las aplicaciones. Si es la primera vez, se muestra la siguiente ventana. Selecciona Create a new Xcode project. 3
Creando proyectos 7 Si no es la primera vez, automádcamente abre el úldmo proyecto. Selecciona File, New, Project Selecciona Single View ApplicaDon Creando proyectos (2) 8 Configura tu proyecto para que se vea así: 4
Creando proyectos (3) 9 Selecciona la carpeta donde guardarás todos tus ejercicios, automádcamente se crea una carpeta para el proyecto. No selecciones por ahora la opción del repositorio; ya puedes dar click sobre el botón "Create". El proyecto en Xcode 10 Controles de ejecución Archivos del proyecto Configura la interface Configuración de versión Ubicación del proyecto Orientaciones permiddas Librería de componentes 5
Componentes de Xcode 11 Xcode IDE. Simulador de ios. (no es emulador) Interface Builder. Instruments. 12 Ejecutando aplicaciones en el simulador Selecciona la versión del simulador que quieres udlizar y luego oprime el botón de Run. 6
El simulador de ios 13 Puede simular pantallas de redna, tanto en iphone como en ipad. ConDene aplicaciones básicas: Safari Photos Selngs Contacts Game Center Newsstand TwiOer El simulador de ios (2) 14 Puede simular: Un GPS con ubicación fija o variable. ipad de resolución estándar o pantalla de redna. iphone con pantalla de 3.5', 4', 4.7 y 5.5' incluyendo pantalla de redna. Una sacudida. 7
Los archivos de la aplicación 15 import UIKit @UIApplicaDonMain class AppDelegate: UIResponder, UIApplicaDonDelegate { AppDelegate.swiv var window: UIWindow? func applicadon(applicadon: UIApplicaDon, didfinishlaunchingwithopdons launchopdons: [NSObject: AnyObject]?) - > Bool { return true func applicadonwillresignacdve(applicadon: UIApplicaDon) { func applicadondidenterbackground(applicadon: UIApplicaDon) { func applicadonwillenterforeground(applicadon: UIApplicaDon) { Ciclo de vida de la app func applicadondidbecomeacdve(applicadon: UIApplicaDon) { func applicadonwillterminate(applicadon: UIApplicaDon) { Los archivos de la aplicación 16 Descripción de los elementos en el delegado UIKit. ConDene la definición de clases para construir la interfaz gráfica de usuario. UIResponder. Es la clase que define una interfaz para objetos que responden y manejan eventos. UIApplica=onDelegate. Declara métodos que son implementados por el delegado del objeto de Dpo UIApplicaDon. Estos métodos dan información de lo que sucede en la aplicación durante su ejecución: n Termina de cargarse en memoria. n Va a salir de ejecución. n Se está terminando la memoria. 8
Clases 17 class NombreClase { // Propiedades o atributos var atributo: Tipo = valorinicial let valor: Tipo = valorconstante // Variable // Constante // Métodos func metodo(parametro: Tipo) - > TipoRegreso { // Instrucciones del método 18 Propiedades class ConverDdor { var pulgadas: Int = 0 // Propiedad almacenada var cendmetros: Double { // Propiedad calculada get { return Double(pulgadas)*2.54 9
El controlador 19 import UIKit Superclase class ViewController: UIViewController { override func viewdidload() { super.viewdidload() Método sobrescrito // Do any addidonal setup aver loading the view, typically from a nib. override func didreceivememorywarning() { super.didreceivememorywarning() // Dispose of any resources that can be recreated. La vista (Archivo NIB) 20 Interface Builder es la herramienta que permite diseñar la GUI 10
Interface Builder 21 Es un editor que nos permite construir la GUI de las aplicaciones. La creación de la GUI es en modo gráfico. Está completamente integrado a Xcode. Se puede comunicar con el editor de código de Xcode. Los archivos asociados a este editor son los archivos NIB (.xib) La vista (Archivo NIB) 22 Controlador (UIViewController) Vista (UIView) Propiedades 11
La biblioteca de componentes 23 Interface Builder Dene una biblioteca de componentes gráficos de usuario que podemos udlizar para crear la GUI. La ventana de propiedades 24 Con las propiedades podemos configurar cada uno de los componentes de la GUI. 12
25 DISEÑO DE APLICACIONES MODELO VISTA CONTROLADOR. Patrón de diseño MVC 26 13
Modelo- Vista- Controlador 27 Controlador (cómo se presenta el modelo al usuario) Modelo (lo que es la app) Vista (cómo se despliega la app) Modelo- Vista- Controlador (2) 28 Tune in Controlador (cómo se presenta el modelo al usuario) Outlet Target Broadcast Modelo (lo que es la app) Vista (cómo se despliega la app) Ac=on 14
Evaluación 29 Crea una app que permita realizar una conversión de Temperaturas de ºF a ºC. Regresando al MVC 30 Puedes idendficar el Modelo, la Vista y el Controlador? Vamos a crear el modelo nosotros mismos. 15
Agregando clases al proyecto 31 La clase Convertidor 32 class ConverDdor { var gradosf: Double = 0.0 var gradosc: Double = 0.0 // Atributos calculados var temperaturafahrenheit:double { get { return 9.0/5.0 * gradosc + 32 var temperaturacelsius:double { get { return 5.0/9.0*(gradosF- 32) 16
La Vista 33 El controlador 34 Primero vamos a crear los Outlets. Abre el Asistente de edición. Arrastra, con click derecho, cada uno de los TextField al archivo ViewController.swiv; asigna un nombre significadvo. Después, creamos los métodos que adenden el evento de cada botón. Arrastra, con click derecho, el botón hacia el archivo ViewController.swiv; asigna un nombre significadvo. 17
Implementando el controlador 35 class ViewController: UIViewController { @IBOutlet weak var ~GradosF: UITextField! @IBOutlet weak var ~GradosC: UITextField! @IBAcDon func conver=rfac(sender: AnyObject) { let converddor = ConverDdor() let gradosf = NSString(string: ~GradosF.text).doubleValue; converddor.gradosf = gradosf; ~GradosC.text = "\(converddor.temperaturacelsius)" Aplicación terminada 36 Algunas mejoras. Los campos permiten capturar letras. El segundo campo se puede editar. El teclado no se esconde. Se crean varios modelos. Reto. Agrega otro botón para converdr de ºC a ºF. Puedes modificar la interfaz de usuario. 18