Estoy usando NSUbiquitousKeyValueStore
para sincronizar algunos datos de preferencia a iCloud. Descubrí que si el usuario deshabilita el elemento "Documento & Datos" de iCloud en "Configuración de la aplicación", NSUbiquitousKeyValueStore
no puede sincronizar sus datos a iCloud. Por lo tanto, quiero comprobar primero si esta opción está activada sucesivamente.Después buscando en Google, me encontré con este fragmento de código:¿Cómo detectar de manera programada si el iCloud está habilitado en el dispositivo del usuario cuando solo usa NSUbiquitousKeyValueStore?
NSURL *ubiq = [[NSFileManager defaultManager]
URLForUbiquityContainerIdentifier:nil];
NSLog(@"url=%@",ubiq);
if (!ubiq) {
UIAlertView *av = [[UIAlertView alloc] initWithTitle:nil message:@"Please enable iCloud in Setting app" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[av show];
return;
}
Lo que yo quiero saber es si esta es la única manera de detectar, incluso si sólo tiene que utilizar NSUbiquitousKeyValueStore
(no almacenamiento de documentos iCloud). ¿Hay una mejor alternativa?
Tu respuesta parece estar en conflicto con los documentos, que dicen: "Evita utilizar esta clase para datos que son esenciales para el comportamiento de tu aplicación cuando no estés conectado [...]". Ya publiqué una [pregunta] (http://stackoverflow.com/q/23662856/251760) sobre eso. ¿Serías capaz de responder eso? – Jonathan
Lo que esto significa es que no debe confiar en que esta tienda es su verdad local sino más bien un simple canal de comunicación de sincronización entre sus dispositivos. – Julien
Gracias! Hice su respuesta en una [respuesta] (http://stackoverflow.com/a/26556553/251760) a mi pregunta, espero que esté bien con eso. (Si prefiere hacer la respuesta usted mismo, me gustaría borrar la mía.) – Jonathan