2012-06-09 6 views
16

Casi todos los principales medios informativos informan que Apple dejará de usar los servicios de Google Maps en iOS6. No creo que nadie sepa realmente cuáles son exactamente los cambios, cuándo se implementarán, cómo Apple los implementará y si Google o Apple comenzarán a cobrar por sus servicios. Como resultado de estas incertidumbres, estoy teniendo problemas para tomar una decisión acertada sobre si debo o no lanzar una nueva aplicación pública de seguimiento de autobuses en la que he estado trabajando durante más de un año. He tenido la fecha límite fija inicial para el 15 de junio de 2012. Sé que lo mejor es esperar y ver cuáles serán los cambios y cómo Apple los implementará. Pero estoy un poco impaciente y estresado por impulsar la fecha de lanzamiento, ya que cualquier retraso adicional afectará a muchos de mis otros planes de una manera muy significativa.¿Debería preocuparme los rumores de que Apple dejará de usar Google Maps en iOS6?

Más información sobre la aplicación:

Proporciona información de transporte público en tiempo real basado en la información que obtiene de API de una agencia de transporte de terceros. Depende en gran medida de iOS MapKit framework y los servicios de ubicación de iOS para mostrar la geolocalización actual de los autobuses en una ruta determinada en tiempo real y para proporcionar información de tránsito entre dos ubicaciones. According to Apple, el marco iOS MapKit usa los servicios de Google para proporcionar datos de mapas. Algunas características invocan la aplicación Google Maps para proporcionar planificación de tránsito y indicaciones paso a paso a las paradas más cercanas.

Mi pregunta:

Si los rumores resultan ser verdad, ¿cree que Apple va ciertamente implementar cualquier cambio sin afectar a las aplicaciones que ya utilizan el marco MapKit actual? ¿Para qué tipo de problemas potenciales debería estar preparado?

+3

Apple tiene la espalda. – DGund

Respuesta

23

Por la experiencia que tengo con los SDK, yo puedo decir que: no, no tendrá que preocuparse por un par de razones:

  • de Apple es bien conocido para mantener las actualizaciones compatibles con versiones anteriores.
  • Map API API está encapsulada y no debería cambiar en absoluto.
  • Incluso si las técnicas para lograr mapas y rutas cambian, Apple seguirá manteniendo la misma interfaz para acceder a estas funcionalidades.
  • La mayoría de las funcionalidades de bajo nivel de cualquier SDK están encapsuladas, sus interfaces públicas (a las que los desarrolladores tienen acceso) son estables y no deberían cambiar.
  • Una ruptura en estas interfaces debe ser muy difícil de pensar.
  • Cambiar el nivel inferior de implementación no cambiará la interfaz pública de la API de Map Kit.
  • Incluso si la interfaz cambió, Apple aún abandonará la interfaz anterior y agregará los metadatos de desactivación a ellos. Estas interfaces seguirán funcionando, y se pueden agregar otras interfaces.

El único problema potencial que deberá tener en cuenta es cuándo va a actualizar su aplicación, y eso sería sobre si implementar las nuevas funcionalidades que el nuevo Map Kit puede proporcionar.

+2

Excelente respuesta. Y agregaría que es imposible pensar que Apple de repente romperá la compatibilidad en iOS6 de miles de aplicaciones basadas en MapKit. – viggio24

+11

Aunque estoy de acuerdo con sus conclusiones, Apple es conocida por * no * mantener actualizaciones compatibles con versiones anteriores. Desprecian las cosas sorprendentemente rápido. Ciertamente no me sorprendería ver cambios en la API de MapKit en iOS 6 (no es que sean muy probables, solo que no serían sorprendentes). Pero tus conclusiones son ciertamente correctas. No puedo imaginar ningún cambio que me impida enviar una aplicación este mes. –

+1

que debería ser virtualmente imposible, trabajé en una compañía que creaba SDKs de imágenes, y rompiendo interfaces era punible con la muerte: D, y éramos una compañía con un par de miles de clientes, no como apple con 1M y desarrolladores anteriores –

4

Estoy de acuerdo con Omar en que Apple probablemente trabaje bastante duro para asegurarse de que MapKit aísle a los desarrolladores de la rotura. Sin embargo, habrá algunos problemas.

El primer problema que veo es el uso de las características no documentadas de Google Maps.Sin documentar no significa necesariamente lo mismo que Private APIs, que es bastante difícil colarse en la tienda de aplicaciones (aunque no imposible).

Por ejemplo, this technique for opening Maps with a URL, para mostrar las rutas. Esto es diferente a usar MapKit, pero aún así podría ser un problema para algunas aplicaciones.

Lo segundo que veo son posibles problemas legales asociados con Google Maps. Si no recuerdo mal, existen servicios web de geocodificación de Google que permiten el uso gratuito siempre que muestres los resultados en un mapa de Google. Actualmente, los mapas de iPhone son mapas de Google (mapas Maps.app o MapKit). En el futuro, el mapa no será. Si es your app relies on a back end that uses Google geocoding services, puede que tenga que volver a trabajar.

De todos modos, la mayoría de los códigos relacionados con los mapas no deberían romperse. Solo quería dar un par de ejemplos de dónde podría haber problemas.

Actualización: Además, ha habido informes de que los nuevos mapas de Apple son inferiores a Google Maps de varias maneras. Aunque todavía puede trabajar, si su aplicación está haciendo algo como enrutar a una dirección , puede encontrar que la nueva aplicación de mapas de Apple hace un trabajo más pobre para encontrar la ubicación que le da. Por lo tanto, para poder trabajar y como solía hacerlo, puede necesitar refactorizar su aplicación para usar coordenadas, en lugar de direcciones. Una vez más, pequeñas cosas podrían resultar para hacer la diferencia aquí.

+0

tiene razón, decidí eliminar la característica que inicia la aplicación de mapas porque estoy usando la url de google parametrizada para invocar la aplicación como en la técnica que mencionó. Esto definitivamente se romperá en la nueva aplicación de mapas. Y, obviamente, no voy a esperar a que todos se actualicen a iOS6. Creo que presionaré una actualización más adelante para agregar la nueva característica. –

Cuestiones relacionadas