¿Copia de datos desde una versión gratuita de iOS a una versión completa de mi aplicación?

¿Cómo podría una versión completa de mi aplicación de iOS acceder / copyr la database / configuration de la versión gratuita?

¿Estoy pensando en proporcionar una versión gratuita de mi aplicación y no puedo ver cómo las personas que compran la versión completa pueden get acceso a los datos de mi versión gratuita?

Todas las aplicaciones están aisladas en iOS. Se instalan como diferentes usuarios del sistema iOS. Un usuario no tiene permiso para acceder a los files de otro usuario. En los viejos times, un enfoque común para abordar este problema es habilitar el intercambio de files iTunes . Y dígales a los usuarios que copien manualmente los files.

Su mejor apuesta es usar el model freemium para vender su aplicación. Haz que la aplicación sea gratuita y desbloquea funciones adicionales a través de la compra en la aplicación. De esta manera, sus files, documentos, configuraciones no necesitarán transferir a la versión pro. La aplicación se convierte en profesional después del deslocking.

Aquí está la guía de Apple: https://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/Introduction/Introduction.html (aunque no es muy intuitivo).

El tutorial aquí: http://troybrant.net/blog/2010/01/in-app-purchases-a-full-walkthrough/ es muy útil.

Por último, tenga en count que la compra en la aplicación es crackable. Entonces, lea: ¿Cómo detectar "cookies IAP"? , Verificando en la aplicación el recibo de compra del cliente , y https://stackoverflow.com/questions/4715414/apple-in-app-purchase-verify-receipt , verifique en la compra de la aplicación , en la verificación de compra de la aplicación de recibo dentro de la aplicación .

Tenga en count que debe configurar un server para validar los recibos de iap. Aunque es factible desde dentro de la aplicación, no es seguro. Por lo que puedo recordar, puedes probar la compra en la aplicación a través de StoreKit en iOS simulator v5.0, que debería ser Xcode 4.2. Antes de eso, solo se puede probar en un dispositivo.

@Dominik Hadl mencionó que puedes usar un server para sincronizar el file. La operación suele ser complicada. Si prefiere esta idea, puede optar por utilizar un esquema personalizado de url para iniciar una aplicación de otra para facilitar la operación. Vea los pasos a continuación:

  1. El usuario presiona "Comenzar a sincronizar" en la aplicación gratuita para cargar el file en su server
  2. Servidor devuelve la ID del file a la aplicación gratuita
  3. El usuario presiona "Iniciar aplicación Pro y download mi file", lo que lleva a un esquema personalizado de url para iniciar su versión Pro (debe instalarse primero), con la ID del file
  4. La versión Pro utiliza la ID del file para download ese file directamente

Creo que la única forma de cómo hacerlo es sincronizar los datos con algún server, registrar el dispositivo y sincronizar los datos con la versión completa.

Debido a que todas las aplicaciones de iOS tienen espacio aislado, no pueden acceder a ningún otro dato de aplicación (a less que tenga iOS jailbroken).

Dado que varias aplicaciones pueden compartir el mismo contenedor de iCloud, diría que la mejor práctica hoy en día es "simplemente" almacenar los datos en iCloud.

(Estoy poniendo "simplemente" entre comillas, porque es fácil poner datos en iCloud y eliminarlos, pero si realmente quieres hacer la synchronization, es posible que tengas que hacer algo más que "cargaré desde iCloud y save en iCloud "para brindar la mejor experiencia al usuario).