Rasca la imagen para llevarte un descuento en tu curso. Podrás aplicar el cupón en el momento de pago.
374
Bienvenidos al curso de iOS 10
Contenidos del curso
Descargar XCode 8 desde la App Store
Descargar la beta de Xcode
Cómo sacarle el máximo partido al curso
Comunidad de Discord para Aprender con Amigos
Tu cuaderno para tomar notas online sobre el curso
Actualización a Swift 5.7.2 con Xcode 14: Tu Curso en la Última Versión - Agosto 2023
Contenidos del tema
Mi primer Playground
Variables
Ejercicio de variables
Las variables cambian
Constantes
Ejercicio de constantes
¿Qué hemos aprendido?
Variables y constantes
Descarga el playground de la sección
Contenidos del Tema
ABI Stabilization
Los operadores de C: ++ y --
Los nuevos bucles for
Parámetros de las funciones
Enumerados
Acortar nombres de métodos y funciones
Desaparecen las clases de Next Step
Extensiones de clases
Cambios en las clases de Core Graphics
Los métodos de la clase String
La herramienta para migraciones automáticas de Xcode 8
¿Qué hemos aprendido?
Xcode 8 ya disponible y cómo corregir errores de las betas
Contenido del tema
La clase String
Ejercicios con Strings
Emojis
Ejercicios con Emojis
Los números enteros
Ejercicios con Enteros
String Interpolation
Ejercicios de enteros y strings
¿Qué hemos aprendido?
Enteros y Strings
Descarga el playground de la sección
Contenidos del tema
Crear el primer proyecto
Un tour por Xcode
El uso de UIButton
El uso de UIAlertController y UIAlertAction
El uso de UILabel
El uso de UITextField
El uso de imágenes
Mejoras de nuestra app
Los errores más típicos cuando creáis una app
¿Qué hemos aprendido?
Reto 1: Hola mundo
Descarga el código fuente de la App 1
Contenidos del tema
Aritmética elemental
Ejercicios de aritmética
Números decimales, floats y doubles
Ejercicios con decimales
Castings
Ejercicios de Castings
Matemáticas avanzadas, el framework de Foundation
Ejercicios de matemáticas
¿Qué hemos aprendido?
Descarga el playground de la sección
Contenidos del tema
El tipo de datos booleano
Ejercicios con booleanos
La sentencia de decisión if
Ejercicios con if
Los comparadores
Ejercicios de comparaciones
La sentencia de decisión else
Ejercicios con else
Los operadores and y or
Ejercicios con AND y OR
¿Qué hemos aprendido?
Cuestionario de booleanos
Descarga el playground de la sección
Contenidos del tema
Crear la vista
Unir la vista y el controlador
La conversión de millas a kilómetros
Mostrar los resultados por pantalla
Refactorización, cómo limpiar nuestro código
Las limitaciones de nuestra app
Reto 2.1: Mejoremos la app con los conocimientos que tenemos
Reto 2.2: Nuevas apps y propuestas
¿Qué hemos aprendido?
Descarga el código fuente de la App 2
Contenidos del tema
Comentarios
Ejercicios de comentarios
Imprimir por consola
Ejercicios de imprimir por consola
Crear una app desde cero
¿Qué hemos aprendido?
Imprimir y comentarios
Descarga los playgrounds de la sección
Contenidos del tema
Los Switch
Ejercicios con Switchs
Los defaults en un Switch
Ejercicios con Switch y Defaults
Multiples opciones e intervalos en un mismo case de un Switch
¿Qué hemos aprendido?
Ejercicios con múltiples cases de un switch
Descarga los playgrounds de la sección
Contenidos del tema
Los Storyboards universales
Diseñando una vista
El concepto de autolayout
Libertad del autolayout con imágenes
El asistente de previsualización
Añadiendo las etiquetas de texto
Las Size Classes, diferentes configuraciones para diferentes resoluciones
Size classes para el tamaño de las fuentes
Size Classes y Auto Layouts
¿Qué hemos aprendido?
Descarga el código fuente de la App 3
Contenidos del tema
Los arrays
Ejercicios de arrays
Añadir objetos a un array
Ejercicios para añadir objetos a arrays
Acceder y modificar elementos de un array
Ejercicios sobre acceso y modificación de elementos de un array
Consultar existencia y posición en un array
Ejercicios de consulta sobre arrays
Inserción y borrado de elementos de arrays
Ejercicios de inserción y borrado de elementos de arrays
Más cosas sobre arrays
Llevamos medio tema, a seguir!
Diccionarios
Ejercicios con diccionarios
Métodos con Diccionarios
Ejercicios de métodos con diccionarios
¿Qué hemos aprendido?
Descarga los playgrounds de la sección
Contenidos del tema
El nil
Ejercicios de nil
Optionals vs Required
Ejercicios de optionals y required
Optional bindings explicados
App 2: arreglando los errores de nuestro conversor de unidades
¿Qué hemos aprendido?
Descarga los playgrounds de la sección
Contenidos del tema
Las Stack Views, una herramienta de diseño muy útil
El diseño de la launch screen
Stack Views de etiquetas
Stack Views de imágenes
Stack Views de botones
Mezclando las Size Classes con las Stack Views
¿Qué hemos aprendido?
Descarga el código fuente de la App 4
Contenidos del tema
El bucle for
Ejercicios de bucle for
El bucle while
Ejercicios de bucle while
Bucles para recorrer arrays
Ejercicios de recorridos sobre arrays
Bucles para recorrer diccionarios
Ejercicios de recorrer diccionarios
¿Qué hemos aprendido?
Descarga los playgrounds de la sección
Contenidos del tema
Las funciones
Ejercicios de funciones
Los parámetros de entrada de una función
Ejercicios de funciones con parámetro
Los valores de retorno de una función
Ejercicios de funciones con valor de retorno
Las tuplas como valor de retorno
Ejercicios con tuplas
¿Qué hemos aprendido?
Descarga los playgrounds de la sección
Contenidos del Tema
El framework de Messages
La licencia de desarrollo de Apple
El pack de Stickers
La documentación de los nuevos frameworks
Cómo hacer screenshots de la app
El logo de la app (Make App Icon)
Itunes Connect y la página de la app
El proceso de subida y validación de la app
¿Qué hemos aprendido?
Descarga el código fuente de la app
Los contenidos del tema
Crear una clase
Las propiedades de una clase
El truco de las computed properties
Las imágenes en el modelo de datos. El diseño de la vista
La factoría de coches, un garaje de lujo
Animaciones y transiciones
Los métodos de las clases
¿Qué hemos aprendido?
Contenidos del proyecto
Introducción a los UITableViewController y a los patrones de diseño
Las Recetas, el modelo de datos de la app
El protocolo UITableViewDataSource y sus métodos
UITableViewCell con imágenes
Otra forma de añadir tablas con extensiones de clases
Celdas personalizadas, subclases de UITableViewCell
Un truco de diseño: imágenes circulares
Reto: diseña tus propias celdas
Interactuar con las tablas: recetas favoritas
MVC: Modelo, Vista, Controlador
Deslizar una fila para borrar una receta de la tabla
Más acciones al deslizar las celdas, compartir en redes sociales.
Navegación y segues
La receta detallada, cómo pasar información entre controladores
Mejorando la vista detallada, el truco de la image view escalada
La información completa de la receta
Reto: Rellenar toda la información de la receta
La apariencia de la tabla y de la barra de navegación
Los tipos dinámicos y las celdas auto ajustables
Valorar nuestra receta
Diálogos animados y transformaciones afines de vistas
Unwind segues y transferencia de información
Reto: una última refactorización de orientiación a objetos
Fin del proyecto
Descarga el proyecto 1
Los controles de versiones y repositorios Git
Github, Bitbucket y Source Tree
Los commits y el repositorio en local
Los pull, push y subidas a repositorios remotos
Control de versiones en Xcode
Contenidos del tema
La text view para poner el texto
Cómo añadir un framework a un proyecto con Swift
El uso de SFSpeechRecognizer
Pedir permiso a los usuarios y probar en un dispositivo de verdad
Configurar la grabación de audio
La lógica de grabación de audio
1, 2, 3... Grabando, Grabando
Reto: timers y grabaciones de audio
¿Qué hemos aprendido?
Descarga el código fuente de la App 6
Contenidos del proyecto
El diseño de la vista de petición de permisos
Un nuevo controlador UICollectionView
Los controladores, IBActions y IBOutlets
La petición de los permisos
Instanciar el controlador de los permisos vía código
Importar los recuerdos del usuario
UIImagePickerController
Guardar el fichero de la imagen y su thumbnail
Mostrar los recuerdos del usuario en pantalla
UILongPressGestureRecognizer: cómo detectar pulsaciones largas
La grabación del audio con AVAudioRecorder
Convertir la voz a texto
Reproducir el audio e imprimir el texto convertido
El Spotlight de Apple
El buscador de nuestra App con CSSearchQuery
Fin del proyecto
Descarga el Proyecto 2
Contenidos del tema
La extensión de los Mensajes
El ciclo de vida y la estructura de las extensiones
Crear nuestra propia app de mensajería
Reto: enviar un audio desde el dispositivo
Personalizar la interfaz y el layout de la estensión de mensajes
¿Qué hemos aprendido?
Descarga el código fuente de la App 7
Ocultar el teclado al pulsar intro
Ocultar el teclado al pulsar en la pantalla
UITapGestureRecognizer
Un textview con placeholder
Contenidos del proyecto (¡refactoriza para aprovechar tu tiempo!)
Refactorizar la app de recetas a la app de lugares
Añadir lugares del mundo
Reto: el teléfono y la página web de los lugares del mundo
Mapas con MapKit
Geocoder y geolocalización
Reto: Chinchetas personalizadas en nuestros mapas
Añadir un nuevo lugar - UITableView con celdas estáticas
a librería de fotos con UIImagePickerController
Autolayout a través de código
Reto: capturar la información del lugar a crear
Añadir el nuevo lugar creado a la vista principal de la app
Introducción a Core Data
Añadir y configurar Core Data en un proyecto existente
Managed Object Model
Subclases de NSManagedObjectModel
Guardar un objeto en Core Data
NSFetchRequest para cargar datos desde Core Data
NSFetchedResultsController
Eliminar un lugar de Core Data
Actualizar un objeto de Core Data
Un regalo para los frikis del SQL
La barra de búsqueda UISearchController
Reto: añadir los lugares originales de la app
Ejercicio: llamar y enviar SMS
Hacer una llamada con una URL
Enviar un mensaje con MFMessageComposerViewController
Visitar el sitio web del lugar
¿Qué tal llevas el proyecto?
Contenidos de la App
Automator, cómo automatizar tareas pesadas
UIPageViewController y UIPageViewContent
Los métodos de UIPageViewDataSource
Activar el mostrado del tutorial
UIPageIndicator personalizado
Los botones Siguiente y Finalizar
UserDefaults y las variables de usuario persistentes
¿Qué hemos aprendido?
Contenidos de la app
El UITabBarController
Personalizar las pestañas de la app
El truco de dividir el Storyboard
Diseñando la vista Acerca de Nosotros
Cargar contenido con UIApplication.shared()
Cargar contenido web con UIWebView
Cargar contenido web con SFSafariViewController
Qué hemos aprendido?
iCloud y CloudKit
Habilitar y gestionar iCloud
Obtener datos de iCloud con la API Convenience
Hilos principales y secundarios: la clase OperationQueue
Obtener datos de iCloud con la API Operacional
El uso del indicador de actividad, UIActivityIndicator
Carga lenta de imágenes (lazy load)
La caché
Tirar para refrescar
Paginación gracias CKQueryCursor
Guardar datos en iCloud
Reto: mejoras a la pestaña Descubre!
Un posible resultado final
¿Qué hemos aprendido?
Descargar el proyecto 3
Contenidos del proyecto, acerca de las redes sociales
Crear y configurar una instancia del servidor de Parse con Amazon Web Services
Seguridad ante todo: cambiar la AppID y ClientKey del proyecto de Parse
Guardar y recuperar un objeto del servidor de Parse
Una launch screen y un logo bonitos
Diseño de la vista de registro
La lógica del registro de usuario
La lógica del login de usuario
La lógica del recuperar contraseña (no disponible en Parse Server)
El gran SWRevealViewController
Reto: las secciones de tu propia red social
La lista de usuarios de nuestra red social
Amigos y seguidores
Tirar para refrescar
Diseño de la vista del post
La selección de fotos
Hacer un post en nuestra red social
Ver el feed de un usuario
Ver el feed (parte 2)
Factorías de usuarios
NotificationCenter para hablar entre clases
El diseño del perfil del usuario
Los datos del usuario
Actualizar el perfil de usuario
Nuestros primeros usuarios (cómo crear bots)!
La lista de mis amigos
Solo para mis amigos
Descubrir a nuevos amigos a lo Tinder
Transformaciones afines
Rellenar el perfil público de los usuarios
El perfil público de mis amigos
La geoposición encubierta: PFGeopoint
¿Dónde están mis amigos?
Enviar una imagen a un amigo
Recibir una imagen de mis amigos
Reto final: El sistema de mensajería entre amigos
Descarga el proyecto final del curso
Hemos terminado una aventura juntos, ¡pero vamos a por la siguiente!
(1)
PLANES PARA ACCEDER SEGÚN TUS OBJETIVOS Y NECESIDADES
Compra el curso individual, obtén toda la ruta de aprendizaje o accede a toda la plataforma
Elige la forma de pago que mejor se adapte a tus necesidades y a tu bolsillo con pago único por curso, acceso mensual o anual a la ruta de aprendizaje o incluso a toda la plataforma.
Pago Único
Compra el curso una vez y accede de por vida
€ 59.99
- Un único pago.
- Acceso instantáneo al curso de por vida.
- Accede a la Comunidad del Curso
El Más
Popular
Popular
Rana de Bronce
Accede a todos los Cursos, Comunidades y Extras de Frogames
€ 39 /mes
- Pago único de 39€ al mes.
- Acceso instantáneo a todos los cursos.
- Accede a la plataforma y las comunidades de alumnos 24/7, dónde y cuándo quieras.
- Cancela en cualquier momento sin perder tu progreso.
Ruta de iOS
Accede a todos los Cursos de la Ruta de Desarrollo iOS
€ 19.99 /mes
- Pago único de 19.99€ al mes.
- Acceso instantáneo a los +10 cursos de la ruta.
- Accede a la ruta 24/7, dónde y cuándo quieras
- Cancela en cualquier momento sin perder tu progreso
Pago único
Compra el curso una vez y accede de por vida
€ 59.99
- Un único pago
- Acceso instantáneo al curso de por vida
- Accede a la Comunidad del Curso
El Más
Valorado
Valorado
Rana de Oro
Accede a todos los Cursos, Comunidades y Extras de Frogames
€ 349 /año
- Pago único de 349€ cada año.
- 3 meses de descuento.
- Acceso instantáneo a todos los cursos.
- Accede a la plataforma y las comunidades de alumnos 24/7, dónde y cuándo quieras.
- Cancela en cualquier momento sin perder tu progreso.
- Biblioteca de Recursos
- Directos mensuales de Q&A
- Soporte Premium Prioritario.
Ruta de iOS
Accede a todos los Cursos de la Ruta de Desarrollo iOS
€ 199 /año
- Pago único de 199€ cada año.
- 4 meses de descuento.
- Acceso instantáneo a los +10 cursos de la ruta.
- Accede a la ruta 24/7, dónde y cuándo quieras.
- Cancela en cualquier momento sin perder tu progreso.
- Soporte premium.
* Todos los precios llevan impuestos incluidos.
Por tu seguridad, todos los pedidos se procesarán en un servidor seguro.
Yvonne
muy completo
Excelente curso, completo y conciso.