Uno de los errores típicos cuando comenzamos con Parse es la creación no deseada de clases en el sistema de persistencia de este MBaaS.
Supongamos que tenemos una clase Amigos en Parse, si quisiéramos añadir un nuevo Amigo y persistirlo deberíamos hacer algo parecido a esto:
PFObject *amiguete = [[PFObject alloc]initWithClassName:@”Amigos”];
[amiguetes setObject:@”Juan” forKey:@”nombreAmigo”];
..
..
[amiguetes saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error){
…
}];
Esta pieza de código crearía la primera vez una entidad Amigos y el resto de ejecuciones añadiría nuevos objetos a la clase.
Hasta aquí nada nuevo, pero y si en otra parte del código tenemos que añadir otro nuevo amigo con más atributos…en principio el código sería similar
PFObject *
PFObject *amiguete = [[PFObject alloc]initWithClassName:@”amigos”];
[amiguetes setObject:@”Juan” forKey:@”nombreAmigo”];
[amiguetes setObject:@”Martín” forKey:@”apellidoAmigo”];
..
[amiguetes saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error){
…
}];
Este código crearía una nueva entidad llamada “amigos”, como decía al principio Parse hace diferencias entre mayúsculas y minúsculas.
SOLUCION:
En la consola de Parse, en los settings de nuestra aplicación debemos desactivar el siguiente switch ->

Esto nos impide crear nuevas Clases por error o por mala leche de algún usuario avanzado.
Una vez desactivado, si repetimos la ejecución del código anterior, obtenemos el siguiente mensaje:
2013-06-13 00:46:21.597 FotoFriends[3045:1d03] Error: This user is not allowed to access non-existent class: amigo. You can change this setting in the Data Browser. (Code: 119, Version: 1.2.9)
Esta es la keynote que utilice en la NSCoder Night Madrid de Diciembre’12 para hacer una introducción sobre parse.com.
Por resumir un poco las capacidades de Parse.com y sus SDKs, os diré que esta plataforma hace real el concepto de “back-end as a service” proporcionando a un desarrollador independiente o todo un equipo de desarrollo, todas las piezas necesarias para construir una App:
Esta es la keynote de la charla para la NSCoder Night Madrid del 7 de noviembre. Intento mostrar a grandes rasgos como podemos utilizar Jenkins en nuestros proyectos IOS.
En breve un post con los pasos que he seguido para configurar xCode+Jenkins+GitHub+TestFlight.