Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porGerardo Fidalgo Alcaraz Modificado hace 9 años
1
iOS for Dummies Consumiendo una API REST con AFNetworking y Mantle
2
¿Qué vamos a ver? Presentación Scaffolding Alcatraz CocoaPods Mantle AFNetworking Implementación API de IT-eBooks
3
presentación Quién soy y qué vamos a realizar
4
Eduardo K. Palenzuela Darias Desarrollador @kiliannet | kiliannet.com
5
IT-eBooks http://www.it-ebooks.infohttp://www.it-ebooks.info | http://it-ebooks-api.infohttp://it-ebooks-api.info
6
SCAFFOLDING Crear una estructura de aplicación mantenible y escalable
7
Scaffolding 1 – Presentation – Application AppDelegate Controllers Views (xib / stroryboards) – Support Images Languages LaunchScreen Supporting 2 – Business – Models – Services 3 – DataAccess – RESTEngine Utils
8
Scaffolding | Importante Sólo eliminar referencias Añadir carpetas como grupos Seleccionar la nueva ruta de Info.plist Eliminar Info.plist de “Copy bundle resources”
9
ALCATRAZ Añadir y mantener plugins o paquetes para Xcode
10
Alcatraz URL: http://alcatraz.iohttp://alcatraz.io Añadir y mantener plugins o paquetes para Xcode
11
Alcatraz | Plugins CocoaPods: https://github.com/kattrali/cocoapods-xcode-pluginhttps://github.com/kattrali/cocoapods-xcode-plugin – Ayuda a integrar Cocoapods en nuestra solución. CocoaControls: https://github.com/yeahdongcn/CocoaControlsPluginhttps://github.com/yeahdongcn/CocoaControlsPlugin – Permite explorar en controles para integrar en nuestra solución y además nos facilita el trabajo de integración en CocoaPods. FuzzyAutocomplete: https://github.com/FuzzyAutocomplete/FuzzyAutocompletePluginhttps://github.com/FuzzyAutocomplete/FuzzyAutocompletePlugin – Mejora el IntelliSense del Xcode. OMColorSense: https://github.com/omz/ColorSense-for-Xcodehttps://github.com/omz/ColorSense-for-Xcode – Ayuda a trabajar con UIColor. QuickLocalization: https://github.com/nanaimostudio/Xcode-Quick-Localizationhttps://github.com/nanaimostudio/Xcode-Quick-Localization – Ayuda a crear texto localizado para implementar las traducciones. VVDocumenter-Xcode: https://github.com/onevcat/VVDocumenter-Xcodehttps://github.com/onevcat/VVDocumenter-Xcode – Ayuda a documentar el código.
12
COCOAPODS Gestor de librerías de terceros
13
CocoaPods URL: https://cocoapods.orghttps://cocoapods.org Es un gestor de librerías tipo línea de comando como puede ser Nuggets de.NET
14
CocoaPods | Instalación URL: http://code.tutsplus.com/tutorials/streamlinin g-cocoa-development-with-cocoapods-- mobile-15938 http://code.tutsplus.com/tutorials/streamlinin g-cocoa-development-with-cocoapods-- mobile-15938 $ sudo gem update --system $ sudo gem install cocoapods
15
CocoaPods | Integración 1.Crear un archivo llamado Podfile 2.Añadir los Pods que queremos incluir en nuestro proyecto. – AFNetworking: https://github.com/AFNetworking/AFNetworking https://github.com/AFNetworking/AFNetworking – Mantle: https://github.com/Mantle/Mantlehttps://github.com/Mantle/Mantle 1.Ejecutar “pod install” 2.Cerrar el proyecto. 3.Abrir el nuevo WorkSpace del proyecto.
16
MANTLE Tipar respuestas de API a nuestros modelos de datos
17
Mantle URL: https://github.com/Mantle/Mantlehttps://github.com/Mantle/Mantle Creado por el equipo de desarrollo de GitHub, permite tipar de forma fácil y sencilla respuestas de peticiones API a nuestro modelo de datos.
18
Mantle | Importante Núcleo: MTLModel – Te permite implementar –hash, -isEqual (usar tus clases como claves de diccionarios) – Te implementa NSCopying y NSCoding (guardar en NSUserDefaults) Serialización: MTLJSONSerializing Cast de datos: JSONTransformer
19
AFNETWORKING Librería para hacer peticiones a Servicios Web
20
AFNetworking URL: https://github.com/AFNetworking/AFNetworking https://github.com/AFNetworking/AFNetworking Creado por el equipo de Gowalla, nos permite hacer peticiones a Servicios Web. Está contruido sobre URL Loading System de Apple. – Librerías de Apple de acceso a datos usando protocolos estándar de Internet como HTTP.
21
AFNetworking | Clientes AFHTTPRequestOperationManager – Se basa en NSURLConnection – Para iOS 6 e inferiores. AFHTTPSessionManager – Se basa en NSURLSession – Para iOS 7 y superiores. Ambos clientes están basados en bloques.
22
AFNetworking | Porqué Petición GET con NSHTTPURLResponse NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:10.0f]; // 10 seg. NSError *localError = nil; NSHTTPURLResponse *response = nil; NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&localError]; // Chequeamos el error if (localError != nil) {} // Chequeamos el HTTP status if ([response isKindOfClass:[NSHTTPURLResponse class]]) { NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response; if (httpResponse.statusCode != 200) {} } // Pasamos los datos devueltos en JSON a NSDictionary NSDictionary *dictionary = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:&localError]; if (localError == nil) {} else {}
23
AFNetworking | Porqué Petición GET con AFNetworking [client GET:url parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) { // JSON serializado como NSDictionary. } failure:^(NSURLSessionDataTask *task, NSError *error) { // Gestión de errores. }];
24
Enlaces IT-eBooks_begin http://kiliannet.es/tlp2015/IT-eBooks_begin.zip IT-eBooks_final http://kiliannet.es/tlp2015/IT-eBooks_final.zip PPT: http://kiliannet.es/tlp2015/TLP2015_iOSForDummies.ppt
25
¡¡¡GRACIAS!!! @kiliannet | kiliannet.com
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.