Download - Helios y su integración en iOS
![Page 1: Helios y su integración en iOS](https://reader033.vdocuments.co/reader033/viewer/2022052505/554f5ab3b4c905b9508b5389/html5/thumbnails/1.jpg)
Heliosy su integración en iOS
¿Es una persona o una legión?@matttCreated by / Javier Moreno @jmoreno
![Page 2: Helios y su integración en iOS](https://reader033.vdocuments.co/reader033/viewer/2022052505/554f5ab3b4c905b9508b5389/html5/thumbnails/2.jpg)
, an extensible mobilebackend framework
helios open-source
si, si, pero... ¿qué es?
Aplicación Ruby construida sobre .Compuesto por varias aplicaciones Ruby hechas con Sinatra.Con una pequeña interfaz de administración web.
Rack
![Page 3: Helios y su integración en iOS](https://reader033.vdocuments.co/reader033/viewer/2022052505/554f5ab3b4c905b9508b5389/html5/thumbnails/3.jpg)
¿Para qué sirve?Sincronización de datosNotificaciones PUSHGestión de In-App PurchasesGestión de PassbookGestión de NewstandAnalíticas y loggingConfiguración remota
![Page 4: Helios y su integración en iOS](https://reader033.vdocuments.co/reader033/viewer/2022052505/554f5ab3b4c905b9508b5389/html5/thumbnails/4.jpg)
Sincronización de datosEn el backend
: Automatically generate RESTful CRUD servicesRack::Scaffold
En iOS: Core Data Persistence with AFNetworking,
Done Right... my ass!: A delightful iOS and OS X networking framework.
AFIncrementalStore
AFNetworking
![Page 5: Helios y su integración en iOS](https://reader033.vdocuments.co/reader033/viewer/2022052505/554f5ab3b4c905b9508b5389/html5/thumbnails/5.jpg)
Rack::ScaffoldGET /:resourcesPOST /:resourcesGET /:resources/:idPUT /:resources/:idDELETE /:resources/:idGET /:resources/:id/:association si hay relaciones
![Page 6: Helios y su integración en iOS](https://reader033.vdocuments.co/reader033/viewer/2022052505/554f5ab3b4c905b9508b5389/html5/thumbnails/6.jpg)
AFIncrementalStorePromete mucho pero AFNetworking es más seguro.
![Page 7: Helios y su integración en iOS](https://reader033.vdocuments.co/reader033/viewer/2022052505/554f5ab3b4c905b9508b5389/html5/thumbnails/7.jpg)
Notificaciones PUSHEn el backend
: A Rack-mountable webservice for managingpush notifications
: Apple Push Notifications; No Dirigible Required
Rack::PushNotification
Houston
En iOS: Push Notification Registration for iOSOrbiter
![Page 8: Helios y su integración en iOS](https://reader033.vdocuments.co/reader033/viewer/2022052505/554f5ab3b4c905b9508b5389/html5/thumbnails/8.jpg)
Rack::PushNotificationPUT /push_notification/devices/:tokenDELETE /push_notification/devices/:tokenGET /push_notification/devices/?GET /push_notification/devices/:token/?
![Page 10: Helios y su integración en iOS](https://reader033.vdocuments.co/reader033/viewer/2022052505/554f5ab3b4c905b9508b5389/html5/thumbnails/10.jpg)
OrbiterIntegración con Helios
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken{ NSURL *serverURL = [NSURL URLWithString:@"http://demo.helios.javimoreno.me/devices/"]; Orbiter *orbiter = [[Orbiter alloc] initWithBaseURL:serverURL credential:nil]; [orbiter registerDeviceToken:deviceToken withAlias:nil success:̂(id responseObject) { NSLog(@"Registration Success: %@", responseObject); } failure:̂(NSError *error) { NSLog(@"Registration Error: %@", error); }];}
También con Parse y Urban Airship
![Page 11: Helios y su integración en iOS](https://reader033.vdocuments.co/reader033/viewer/2022052505/554f5ab3b4c905b9508b5389/html5/thumbnails/11.jpg)
Gestión de In-App PurchasesEn el backend
: Ruby Gem for In-App Purchase Receipt VerificationRack::InAppPurchaseVenice
En iOS: The Essential StoreKit CompanionCargo Bay
![Page 12: Helios y su integración en iOS](https://reader033.vdocuments.co/reader033/viewer/2022052505/554f5ab3b4c905b9508b5389/html5/thumbnails/12.jpg)
Rack::InAppPurchasePOST /in_app_purchase/receipts/verifyGET /in_app_purchase/products/identifiersGET /in_app_purchase/receipts/
![Page 14: Helios y su integración en iOS](https://reader033.vdocuments.co/reader033/viewer/2022052505/554f5ab3b4c905b9508b5389/html5/thumbnails/14.jpg)
Cargo BayLista de productos disponibles:
NSURL *url = [NSURL URLWithString:@"http://demo.helios.javimoreno.me/in_app_purchase/products/identifiers/"NSURLRequest *request = [NSURLRequest requestWithURL:url];[[CargoBay sharedManager] productsWithRequest:request success:̂(NSArray *products, NSArray *invalidIdentifiers) { NSLog(@"Products: %@", products); NSLog(@"Invalid Identifiers: %@", invalidIdentifiers); _productsArray = [NSMutableArray arrayWithArray:products]; [self.tableView reloadData];} failure:̂(NSError *error) { NSLog(@"Error: %@", [error description]);}];
![Page 15: Helios y su integración en iOS](https://reader033.vdocuments.co/reader033/viewer/2022052505/554f5ab3b4c905b9508b5389/html5/thumbnails/15.jpg)
Cargo BaySeguimiento de los pagos:
- (void)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)options { [[CargoBay sharedManager] setPaymentQueueUpdatedTransactionsBlock:̂(SKPaymentQueue *queue, NSArray *transactions) { NSLog(@"Updated Transactions: %@", transactions); }];
[[SKPaymentQueue defaultQueue] addTransactionObserver:[CargoBay sharedManager]];
// ...}
![Page 16: Helios y su integración en iOS](https://reader033.vdocuments.co/reader033/viewer/2022052505/554f5ab3b4c905b9508b5389/html5/thumbnails/16.jpg)
Cargo BayVerificación de la compra:
[[CargoBay sharedManager] verifyTransaction:transaction password:nil success:̂(NSDictionary *receipt) { NSLog(@"Receipt: %@", receipt);} failure:̂(NSError *error) { NSLog(@"Error %d (%@)", [error code], [error localizedDescription]);}];
![Page 17: Helios y su integración en iOS](https://reader033.vdocuments.co/reader033/viewer/2022052505/554f5ab3b4c905b9508b5389/html5/thumbnails/17.jpg)
Gestión de PassbookEn el backend
: Generate and Preview Passbook PassesRack::PassbookDubai
En iOS: A delightful iOS and OS X networking framework.AFNetworking
![Page 18: Helios y su integración en iOS](https://reader033.vdocuments.co/reader033/viewer/2022052505/554f5ab3b4c905b9508b5389/html5/thumbnails/18.jpg)
Rack::PassbookGET /passbook/passes/:passTypeIdentifier/:serialNumberGET /passbook/devices/:deviceLibraryIdentifier/registrations/:passTypeIdentifier[?passesUpdatedSince=tag]POST/passbook/devices/:deviceLibraryIdentifier/registrations/:passTypeIdentifier/:serialNumberDELETE/passbook/devices/:deviceLibraryIdentifier/registrations/:passTypeIdentifier/:serialNumberGET /passbook/passes/
![Page 20: Helios y su integración en iOS](https://reader033.vdocuments.co/reader033/viewer/2022052505/554f5ab3b4c905b9508b5389/html5/thumbnails/20.jpg)
Gestión de NewsstandEn el backend
: Automatically generate webservice endpoints forNewsstandRack::Newsstand
En iOS: A delightful iOS and OS X networking framework.AFNetworking
![Page 21: Helios y su integración en iOS](https://reader033.vdocuments.co/reader033/viewer/2022052505/554f5ab3b4c905b9508b5389/html5/thumbnails/21.jpg)
Rack::NewsstandGET /newsstand/issuesGET /newsstand/issues/:namePOST /newsstand/issues
![Page 22: Helios y su integración en iOS](https://reader033.vdocuments.co/reader033/viewer/2022052505/554f5ab3b4c905b9508b5389/html5/thumbnails/22.jpg)
Analíticas y loggingEn el backend
: Log metrics from HTTP request parametersaccording to l2met conventionsRack::HTTPLogger
En iOS: Extensible Remote LoggingAntenna
![Page 23: Helios y su integración en iOS](https://reader033.vdocuments.co/reader033/viewer/2022052505/554f5ab3b4c905b9508b5389/html5/thumbnails/23.jpg)
Configuración remotaEn el backend
: Serve property list or JSONconfiguration filesRack::RemoteConfiguration
En iOS: Remote Configuration for iOS
: Multivariate & A/B Testing for iOS and MacGround ControlSkyLab
![Page 24: Helios y su integración en iOS](https://reader033.vdocuments.co/reader033/viewer/2022052505/554f5ab3b4c905b9508b5389/html5/thumbnails/24.jpg)
Anexos: world-class command line utilities for iOS development: a hybrid approach to real-time cloud applications
: The easiest way to get started with PostgreSQL on theMac
: A Polyglot Database Client for Mac OS X: a journal of the overlooked bits in Objective-C and Cocoa: Searchable full-text transcripts of WWDC sessions
NomadRocketPostgresApp
InductionNSHipsterASCIIwwdc
![Page 25: Helios y su integración en iOS](https://reader033.vdocuments.co/reader033/viewer/2022052505/554f5ab3b4c905b9508b5389/html5/thumbnails/25.jpg)
THE ENDBY Javier Moreno / javimoreno.me