versiones sale lanzamiento fecha descargar cuando apple iphone ruby-on-rails objective-c xml rest

sale - ios 12 iphone 6



¿Cuál es el mejor enfoque para construir un cliente de iPhone para una aplicación de rieles? (6)

He tenido algo de suerte usando plists ...

Necesitarás instalar la gema plist-3.0.0 (gem install plist IIRC)

Luego, en su controlador, configure algo como esto:

plist = {''a'' => ''b'', ''c'' => ''d'', ''e'' => {''f'' => ''g'', ''h'' => {''i'' => ''j''}}}.to_plist render(:text => plist)

Luego, en la aplicación de tu iPhone, configura algo como esto:

NSURL *url = [NSURL URLWithString:@"http://somewhere.com"]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; NSURLResponse *response; NSError *error; NSData *plistData; plistData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; NSPropertyListFormat format; NSString *errorStr; id imagesToRate = [NSPropertyListSerialization propertyListFromData:plistData mutabilityOption:NSPropertyListImmutable format:&format errorDescription:&errorStr]; if(!imagesToRate) { NSLog(errorStr); } else { NSLog(@"%@", [imagesToRate objectForKey:@"e"]); }

Obtienes casi toda la libertad de usar json (como en, no tienes que hacer tu propio esquema xml para formatear tus datos, y la serialización es tan fácil como una llamada a_plist) además, el sdk viene con código nativo para el manejo plists.

Pero, si está listo para usar un servicio web con salida en json / xml, puede guardarlo y analizar el contenido del iphone con las cosas ya mencionadas (TouchXML, json-framework)

Tengo una aplicación de rieles bastante estándar y me gustaría poder acceder a las operaciones básicas de CRUD (Crear, Actualizar, Eliminar), así como a las consultas que he agregado, desde una aplicación de iPhone. Rails proporciona la API REST para estas operaciones más o menos de fábrica.

¿Cuál es el mejor enfoque para lidiar con la parte REST / XML en el iPhone? ¿Hay alguna buena biblioteca objetivo C que ya haga este tipo de cosas? Las operaciones también deberán estar asociadas a un usuario particular (es decir, autenticado).


Su mejor opción es escribir una clase de contenedor simple alrededor de NSURLConnection que configure las cosas específicas para su API. No es particularmente complicado, y te permite adaptar la API de tu clase directamente a la API REST a la que te diriges. Su clase puede tener un método init como initWithMethod:delegate:params: donde el delegado es el objeto que desea recibir el resultado de forma asincrónica, y el params es un NSDictionary de todos los parámetros. También puede usar una propiedad en la clase para configurar la autenticación (o hacer que la clase descubra y registre eso luego de iniciar sesión).

En cuanto al análisis de XML, recomiendo consultar TouchXML .


Si no le gusta analizar XML (¿y quién lo hace?) Y puede configurar el backend para escupir JSON en lugar de XML, le recomiendo usar una biblioteca como json-framework . Es mucho más fácil simplemente leer datos en objetos que analizarlos a través de nodos XML.



Tenga cuidado al usar NSURLConnection en el iPhone. Se sabe que tiene fugas de memoria que pueden bloquear una aplicación muy rápidamente. Si está haciendo muchas solicitudes HTTP, no espere que NSURLConnection funcione para usted. Encuentre algo más, posible envoltorio de rizo.


Este es un problema común para mí, tanto que he estado trabajando en un puerto del framework Rails ActiveResource llamado ObjectiveResource .

Hemos tenido dos lanzamientos del proyecto hasta ahora. 1.0 ya está siendo utilizado por algunas aplicaciones en App Store y puede manejar el manejo de recursos to_xml y to_json predeterminado integrado en Rails. 1.01 es una versión de corrección de errores y una caída en la actualización.

Actualmente estamos trabajando en la definición del conjunto de características para 1.1. Ya tenemos bastantes ideas y estamos discutiendo más en la lista de correo .