Hola, Apple

1

Hablemos de iOS

2

Conozcamos XCode

3

¬ŅNecesito un iPhone para ser iOS Developer?

Tu primera app en iOS

4

¬°Hola, Mundo Apple!

5

Navegación con UINavigationController

6

Modales en la navegación

7

Utilizando controles en código

8

Autolayout vs SwiftUI

9

Autolayout

10

Listas con UITableView

11

Celdas personalizadas para nuestras listas.

12

Persistencia: UserDefaults

Manejo de dependencias

13

CocoaPods

14

Carthage

Servicios Web

15

Primeros pasos para consumir servicios

16

Afinando detalles para consumir servicios

17

Convirtiendo los JSON a modelos

18

Alamofire

Proyecto: PlatziTweets

19

Bienvenido a PlatziTweets

20

Configurando Proyecto

21

Dise√Īando vistas iniciales

22

Configuración de vistas iniciales

23

Configuración de registro

24

Descripción de la API de PlatziTweets

25

Conexión de la API y Autenticación

26

Registro de usuarios

27

Dise√Īo del Tweet

28

Obteniendo Tweets

29

Creación de vista para publicar Tweets

30

Publicando Tweets

31

Borrando Tweets

32

Integración de la cámara

33

Conexión con Firebase

34

Configuración de XCode para correr app

35

Subir imagen a Firebase

36

Publicar Tweet con imagen

37

Tomando Videos para el Tweet

38

Publicar Tweet con video

39

Detalles del video

40

Accediendo al GPS

41

Implementando mapas con MapsKit

42

Mostrando todos los estudiantes en el mapa

43

Retos del proyecto

En producción

44

Enviar a pruebas con Firebase Distribution

45

Enviar tu aplicación a APP Store Connect

46

Distribución de tu app con TestFlight

iOS Avanzado

47

Dark Mode

48

SwiftUI

49

Terminando detalles de una vista con SwiftUI

50

Objective-C

Hola, iOS Developer

51

Felicidades

52

Expert Session: ¬°nuevo espacio para resolver tus dudas sobre el desarrollo de Apps para iOS!

No tienes acceso a esta clase

¬°Contin√ļa aprendiendo! √önete y comienza a potenciar tu carrera

Primeros pasos para consumir servicios

15/52
Recursos

Aportes 11

Preguntas 3

Ordenar por:

¬ŅQuieres ver m√°s aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

ūüĎáūüŹĹ las lineas de excepci√≥n

<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
        <key>NSExceptionDomains</key>
        <dict>
            <key>mocky.io</key>
            <dict>
                <key>NSExceptionAllowsInsecureHTTPLoads</key>
                <true/>
                <key>NSIncludesSubdomains</key>
                <true/>
            </dict>
        </dict>
    </dict>

// Endpoint: http://www.mocky.io/v2/5e2674472f00002800a4f417
// 1. Crear excepcion de seguridad.
// 2. Crear URL con el endpoint
// 3. Hacer request con la ayuda de URLSession
// 4. Transformar respuesta a diccionario
// 5. Ejecutar request

ESTO YA NO SE HACE AS√ć

En Xcode13, a la fecha 19/05/2022, el info. plist ya no está, no se puede hacer la excepción de seguridad como la muestra el profe.

Tenemos que a√Īadir un App Transport Security Exception

  1. Para eso debemos de irnos a la configuración de nuestro proyecto (en el archivo Aprendiendo-Servicios arriba de la carpeta)
  2. Luego irnos Singing & Capabilities
  3. Le daremos al bot√≥n (+) y a√Īadiremos el App Transport Security Exception
  4. Ya luego solo debemos a√Īadir el dominio

Con esto se ahorraran los quebraderos de cabeza y las ganas de llorar, like para que todos lo vean ‚̧ԳŹ

Me tiene bastante contento este curso

Al final falto agregar : **.resume() **

    URLSession.shared.dataTask(with: endpoint) { (data: Data?, _, error: Error?) in
      ...
    }.resume()

Lines just copy and paste them!

   <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key><true/>
        <key>NSExceptionDomains</key>
        <dict>
            <key>mocky.io</key>
            <dict>
                <!--Include to allow subdomains-->
                <key>NSIncludesSubdomains</key>
                <true/>
                <!--Include to allow HTTP requests-->
                <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
                <true/>
            </dict>
        </dict>
    </dict>```

Puede que le ayude a alguien este link para configurar el archivo Info.plist sin editar texto.
https://stevenpcurtis.medium.com/app-transport-security-has-blocked-a-cleartext-http-http-resource-load-since-it-is-insecure-65d75b598bcc

Los que estén usando Xcode 13 ay cambios en la manera en la que se configura el archivo Info.plist
Les dejo un link que podría ayudar
https://useyourloaf.com/blog/xcode-13-missing-info.plist/

tal vez sea debido a que no se llamo la función, ademas de que este tipo de funciones se deben de ejecutar fuera del hilo principal

Excelente clase!

Resumen