12/08/15
Ing. Roberto Mar4nez Román -‐ [email protected] 1
INTRODUCCIÓN
1
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
12/08/15
Ing. Roberto Mar4nez Román -‐ [email protected] 2
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
12/08/15
Ing. Roberto Mar4nez Román -‐ [email protected] 3
Pasos para correr apps en el dispositivo
5
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.
12/08/15
Ing. Roberto Mar4nez Román -‐ [email protected] 4
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í:
12/08/15
Ing. Roberto Mar4nez Román -‐ [email protected] 5
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
Archivos del
proyecto
Ubicación del
proyecto
Configuración de versión
Orientaciones permiDdas
Controles de
ejecución Configura
la interface
Librería de componentes
12/08/15
Ing. Roberto Mar4nez Román -‐ [email protected] 6
Componentes de Xcode 11
¨ Xcode IDE. ¨ Simulador de iOS. (no es emulador) ¨ Interface Builder. ¨ Instruments.
Ejecutando aplicaciones en el simulador
12
¨ Selecciona la versión del simulador que quieres uDlizar y luego oprime el botón de Run.
12/08/15
Ing. Roberto Mar4nez Román -‐ [email protected] 7
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.
12/08/15
Ing. Roberto Mar4nez Román -‐ [email protected] 8
Los archivos de la aplicación 15
import UIKit
@UIApplicaDonMain
class AppDelegate: UIResponder, UIApplicaDonDelegate {
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) {
}
func applicaDonDidBecomeAcDve(applicaDon: UIApplicaDon) {
}
func applicaDonWillTerminate(applicaDon: UIApplicaDon) {
}
}
AppDelegate.swiv
Ciclo de vida de la app
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.
12/08/15
Ing. Roberto Mar4nez Román -‐ [email protected] 9
Clases 17
class NombreClase {
// Propiedades o atributos var atributo: Tipo = valorInicial // Variable let valor: Tipo = valorConstante // Constante // Métodos
func metodo(parametro: Tipo) -‐> TipoRegreso { // Instrucciones del método }
}
Propiedades 18
class ConverDdor { var pulgadas: Int = 0 // Propiedad almacenada var cenDmetros: Double { // Propiedad calculada get { return Double(pulgadas)*2.54 } } }
12/08/15
Ing. Roberto Mar4nez Román -‐ [email protected] 10
El controlador 19
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// 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.
}
}
Superclase
Método sobrescrito
La vista (Archivo NIB) 20
Interface Builder es la herramienta que permite diseñar la GUI
12/08/15
Ing. Roberto Mar4nez Román -‐ [email protected] 11
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
Vista (UIView)
Controlador (UIViewController)
Propiedades
12/08/15
Ing. Roberto Mar4nez Román -‐ [email protected] 12
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/08/15
Ing. Roberto Mar4nez Román -‐ [email protected] 13
DISEÑO DE APLICACIONES MODELO VISTA CONTROLADOR.
25
Patrón de diseño MVC 26
12/08/15
Ing. Roberto Mar4nez Román -‐ [email protected] 14
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
Controlador (cómo se presenta
el modelo al usuario)
Modelo (lo que es la
app)
Vista (cómo se
despliega la app)
Outlet
Ac=on
Broadcast
Tune in
Target
12/08/15
Ing. Roberto Mar4nez Román -‐ [email protected] 15
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.
12/08/15
Ing. Roberto Mar4nez Román -‐ [email protected] 16
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)
}
}
}
12/08/15
Ing. Roberto Mar4nez Román -‐ [email protected] 17
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.
12/08/15
Ing. Roberto Mar4nez Román -‐ [email protected] 18
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.
Top Related