2009-10-03 7 views
7

Estoy cerca de las etapas finales de desarrollo de una aplicación para iPhone y la lanzaré como versión 'ligera' (compatible con publicidad) y como 'profesional '(sin publicidad, probablemente con funcionalidad adicional en algún momento) versión.Manejo de la migración de datos de la versión 'lite' a 'pro' de la aplicación para iPhone

He seguido sugerencias aquí y en otras partes sobre la creación de objetivos múltiples, etc. y puedo construirlos sin ningún problema.

Pero esto me trae a la mente una pregunta: ¿Cuál es la mejor forma, más fácil de usar y más aceptada para manejar la transición de una versión lite de una aplicación a una versión pro?

mi punto de vista - y por favor corríjanme si alguno de mis suposiciones son incorrectas - potencialmente hay dos maneras de hacer esto:.

  1. dar a cada aplicación su propio identificador de paquete (es decir com.companyname .fooapplite y com.companyname.fooapppro). Esto dará como resultado que ambos sean tratados como entidades completamente separadas. Los datos no se migran automáticamente si un usuario se mueve de uno a otro y ambos podrían muy bien tener ambos instalados en el mismo iPhone al mismo tiempo.

  2. Proporcione a cada aplicación el mismo identificador de Bundle (es decir, com.companyname.fooapp), de modo que se consideren esencialmente la misma aplicación. La versión pro de la aplicación será sobrescrita por la versión pro si la descargan e instalan. Los datos de la versión lite se mantienen en la versión pro.

Este último parece ideal para mí - No me puedo imaginar alguien que quiera mantener una versión lite después de que se acaba de comprar una versión pro - pero esto nos lleva a una serie de preguntas:

  • ¿Apple incluso permite la opción n. ° 2?

  • La utilización de la opción n. ° 2 dará como resultado cualquier tontería que deba tener en cuenta, es decir. las dos versiones interviniendo mutuamente de alguna manera.

  • Si no está permitido, ¿hay una práctica sugerida para migrar datos de lo que básicamente son dos aplicaciones completamente diferentes? Conozco StoreKit, pero no es compatible con aplicaciones gratuitas.

Así las cosas, esta aplicación actual no realmente generar datos de gran valor y lo peor que puede pasar es los usuarios tendrán que volver a introducir algunas credenciales de autenticación al actualizar a Pro. Pero en el futuro, si tuviera que desarrollar una aplicación similar que almacene datos valiosos a nivel local, me gustaría saber cómo hacer la mejor transición entre los usuarios y sus datos de manera transparente.

Gracias,

  • Jeff
+1

Apple no permite la opción n. ° 2; cuando intentes enviar la segunda aplicación, iTunes Connect se quejará. –

+0

Hola, también estoy enfrentando una situación similar. ¿Cómo puedo actualizar la versión lite a la versión profesional de mi aplicación sin perder los datos que he guardado? Por favor ayuda. – arundevma

Respuesta

1

no he probado esto mismo, pero una tercera opción para intercambiar pequeñas cantidades de datos es utilizar la API de llavero. Las aplicaciones que comparten un identificador de código auxiliar - com.companyname.foo como padre a com.companyname.foo.fooapp y com.companyname.foo.fooapplite - supuestamente pueden escribir en el llavero desde una aplicación y leer desde el otro. No he visto esto hecho, pero mucha gente dice que es posible.Y en cualquier caso, el llavero es probablemente un buen lugar para almacenar cosas como credenciales de autenticación.

La opción cuatro sería que la aplicación Lite almacene algunos datos del usuario en un servidor que usted opera, y que la aplicación completa la recupere desde allí, pero existen todo tipo de problemas con ese enfoque.

+0

¡Gracias por la respuesta rápida! Interesante idea con el enfoque de llavero. No había considerado esa opción, y podría ser aplicable a mi proyecto actual. En cuanto a almacenar datos en un servidor centralizado, eso es (en pocas palabras) lo que estoy haciendo con esta aplicación en la que estoy trabajando, y por qué no es increíblemente importante que guarde algo localmente con esta aplicación. El escenario en el que estoy pensando es, es decir. una aplicación para tomar notas, donde se crean cantidades significativas de datos de usuario que legítimamente podrían querer conservar. –

3

Una opción más es intercambiar datos de la versión Lite a la versión completa a través de una URL. Registre una URL de myFullApp con la versión completa y pida a la aplicación Lite que presente una opción de actualización que llame a esa URL con los diversos datos que desea intercambiar codificados en ella.

Eso requiere que el usuario inicie su versión Lite y presione un botón, pero también es bastante simple.

+2

Mobile Orchard en realidad tiene un artículo sobre este enfoque: http://www.mobileorchard.com/lite-to-paid-iphone-application-data-migrations-with-custom-url-handlers/ –

Cuestiones relacionadas