我是否应该担心苹果会停止在iOS6中使用谷歌地图?

几乎所有主要的新闻媒体都报道说苹果将停止在iOS6中使用Google Maps服务。 我不认为任何人都知道究竟发生了什么变化,何时推出,苹果将如何实施这些变化,以及谷歌或苹果是否会开始为其服务收取费用。 由于这些不确定因素,我很难做出一个合理的决定,决定是否应该发布一个新的公共汽车跟踪器应用程序,我已经工作了一年多了。 我已经在2012年6月15日设定了最初的艰难的最后期限。我知道最好的办法是等待,看看将发生什么变化,以及苹果如何实施这些变化。 但是我有点不耐烦,强调要推迟发布date,因为任何进一步的延迟都会以非常显着的方式影响我的其他许多计划。

有关该应用的更多信息:

它根据从第三方运输机构API获得的信息提供实时公共交通信息。 它主要依靠iOS MapKit框架和iOS位置服务来实时显示给定路线上公交车的当前地理位置,并提供两个地点之间的公交信息。 据苹果介绍 ,iOS MapKit框架使用Google服务来提供地图数据。 某些function会调用Google地图应用程序,以提供交通规划和转由转到最近的站点的方向。

我的问题:

如果谣言成为现实,你认为苹果公司是否会在不影响已经使用MapKit框架的应用程序的情况下进行更改? 我应该准备哪些潜在的问题?

根据我使用SDK的经验,我可以告诉你:不,你不需要担心,原因有两个:

  • 苹果是众所周知的维护向后兼容的更新。
  • Map Kit API是封装的,它不应该改变。
  • 即使实现地图和路线的技术改变,苹果公司仍然保持相同的接口来访问这些function。
  • 任何SDK的大多数低级function都是封装的,它们的公共接口(我们开发者可以访问的)是稳定的,不应该改变。
  • 这些界面的突破一定是非常难以想到的。
  • 更改较低级别的实现将不会更改Map Kit API的公共接口。
  • 即使界面改变,苹果仍然会离开旧界面,并为其添加弃用元数据。 这些接口仍然可以工作,也可以添加其他接口。

唯一的潜在问题是您需要考虑是否要更新您的应用程序,以及是否实施新的Map Kit可能提供的新function。

我同意奥马尔的观点,苹果可能会努力确保MapKit将开发者从破坏中分离出来。 但是,会有一些问题。

我看到的第一个问题是使用Google地图的未公开的function。 未logging并不一定意味着与私有API相同的事物,这很难潜入app store(尽pipe不是不可能的)。

例如, 这种用URL打开地图的方法来显示路由。 这与使用MapKit不同,但对于某些应用程序MapKit ,这仍然是个问题。

我看到的第二件事是与Google地图相关的潜在法律问题。 如果我没有记错的话,可以使用Google地理编码networking服务,只要您在Google地图上显示结果,就可以免费使用。 目前,iPhone地图是Google地图(Maps.app或MapKit地图)。 将来,他们映射不成。 如果您的应用依赖使用Google地理编码服务的后端,则可能需要进行一些返工。

无论如何,大多数与地图相关的代码不应该中断。 我只是想举几个例子,说明哪里可能有问题。

更新:也有报道说,新的苹果地图在几个方面不如谷歌地图。 虽然它可能仍然有效 ,但是如果你的应用程序正在做一些类似于路由到地址的事情,那么你可能会发现苹果新的地图应用程序在find你所在的位置方面做得比较差。 所以,为了和以前一样工作,您可能需要重构应用程序以使用坐标,而不是地址。 再次,小事情可能会在这里有所作为。