objective-c - puedo - eliminar aplicaciones iphone 7
¿Cuál es una buena solución para sincronizar datos entre aplicaciones de iOS? (4)
"Couchbase para iOS" podría satisfacer su necesidad
https://github.com/couchbaselabs/iOS-Couchbase
Según el readme:
Mobile Couchbase for iOS Apache CouchDB on iOS provides a simple way to sync your application
datos a través de dispositivos y proporcionar copia de seguridad en la nube de los datos del usuario. A diferencia de otras soluciones en la nube, los datos se alojan en el dispositivo mediante Couchbase Mobile, por lo que incluso cuando la red está inactiva o lenta (avión, metro, patio trasero), la aplicación responde a los usuarios.
What this means for you: You can embed the rock solid distributed database, Mobile
Couchbase, en tu dispositivo iOS. Sus aplicaciones de iOS pueden usar la tecnología de sincronización bien probada de Apache CouchDB. Si tiene <3 CouchApps, puede implementarlas como aplicaciones de iOS.
Estoy desarrollando una aplicación, cuya gestión de datos se realiza a través de Core Data, y estoy estudiando cómo implementar una función para sincronizar datos entre dos dispositivos diferentes (incluso entre iDevices y Mac''s eventualmente).
Hasta ahora no he encontrado nada interesante o útil, por lo que le estoy pidiendo un buen punto de inicio, una guía o un modelo a seguir. ¿Alguna vez te has dado cuenta de algo como esto?
Actualizar
He comenzado una recompensa en esta pregunta. La sincronización podría ser una tarea difícil en iOS, pero vamos, hay muchas aplicaciones que ofrecen funcionalidades de sincronización de dispositivo a dispositivo. Mi pregunta es: ¿cómo hacen esto? ¿Cuál es el mejor enfoque? ¿Cuáles son las diferentes soluciones?
Actualización 2
Esta pregunta seguramente no está actualizada, en este momento, ya que iCloud se lanzó hace casi un año. Me gustaría mantenerlo vivo, ya que puede ofrecer información interesante sobre la sincronización de datos móviles entre dispositivos.
Comenzaría con los servicios de sincronización de API de Apple y vería si eso satisface sus necesidades. En principio, le permitiría sincronizar todos los dispositivos y servicios de Apple.
Si quieres hacerlo tú mismo, este puede ser un ejercicio muy agradable pero desafiante. No conozco ningún marco de terceros que facilite la conectividad P2P entre "iDevices", aparte de los que se muestran a continuación, de Apple. Puedes hacer una investigación en ese sentido si no quieres reinventar la rueda. Respondo en función de mi (poca) experiencia con la implementación de un servicio de sincronización a través de un servidor de aplicaciones: los principios deben ser más o menos los mismos con un enfoque P2P.
El primer paso sería diseñar un protocolo para sincronizar sus datos. Preguntas que quizás tengas que responder por ti mismo:
- ¿Qué necesito entender acerca de la sincronización de datos ?
- ¿Qué parte de mi modelo de Core Data quiero sincronizar? ¿Debo realizar cambios en mi modelo actual para facilitar la sincronización?
- ¿Qué mecanismo de serialización / deserialización usaré?
- ¿Cómo podré identificar entidades de forma única en múltiples dispositivos?
- ¿Cómo voy a versionar mis datos? ¿Cómo puedo saber qué entidades necesitan sincronizarse?
- ¿Necesito poder revertir una operación de sincronización?
- ¿Cómo realizaré un seguimiento del progreso de la sincronización y cómo manejaré las fallas y los casos de excepción? ¿Cómo notificaré al usuario de estos?
- ¿Prefiero sincronizar "incrementalmente" (partes de mi modelo) o "globalmente" (todo el modelo a la vez)?
- ¿Con qué frecuencia necesitará el usuario sincronizar entre dispositivos?
- ¿Hay alguna consideración de seguridad? ¿Necesito cifrado?
- etc.
Esto es apenas arañar la superficie. Definitivamente encontrarás más cosas en las que pensar a medida que avanzas.
A continuación, determine cómo desea conectarse entre dispositivos. Parece que prefieres una solución por aire, la clase P2P. Para eso, comenzaría mirando estas herramientas:
- GameKit (este marco tiene API para establecer la conectividad entre dispositivos a través de Bluetooth)
- Bonjour (el protocolo de Apple para el descubrimiento de dispositivos a través de una red; consulte la aplicación de ejemplo BonjourWeb ) + sockets BSD
Elija la herramienta o las herramientas con las que se sienta más cómodo y en base a las decisiones de diseño comentadas anteriormente. No puedo ayudarte allí, ya que no tengo ninguna experiencia con ninguno de ellos. Como dijo Morfeo:
Solo puedo mostrarte la puerta. Tú eres el que tiene que atravesarlo.
Lo siento, poco humor :)
Finalmente, decide una solución para implementar tu mecanismo de sincronización. Podría, por ejemplo, elegir un modelo cliente-servidor (un dispositivo escuchará una conexión y otro lo iniciará).
Documentación más relevante:
Espero que esto te dé un camino de partida.
Sincronizar datos es notoriamente complicado. Las soluciones simplistas son peores que ninguna solución.
Para obtener una buena guía espiritual al respecto, vaya a ver qué hacen los autores de Things con su próxima funcionalidad de sincronización en la nube. Mi esperanza es que lanzarán una API de sincronización a través de la cual los desarrolladores pueden implementar servicios de sincronización. Pero incluso si se lo guardan para sí mismos, están demostrando bastante bien el tipo de búsqueda de alma requerida para realmente hacer frente a la tarea.