16

几乎所有主要新闻媒体都在报道苹果将在 iOS6 中停止使用谷歌地图服务。我认为没有人真正知道这些变化究竟是什么,何时推出,苹果将如何实施它们以及谷歌或苹果是否会开始为他们的服务收费。由于这些不确定性,我很难做出明智的决定,是否应该发布我已经研究了一年多的新公共巴士跟踪应用程序。我已将最初的硬性截止日期定为 2012 年 6 月 15 日。我知道最好的办法是等待,看看会有哪些变化以及 Apple 将如何实施这些变化。但是对于推迟发布日期,我有点不耐烦和压力,因为任何进一步的延迟都会以非常重要的方式影响我的许多其他计划。

有关该应用程序的更多信息:

它根据从第三方交通机构的 API 获得的信息提供实时公共交通信息。它在很大程度上依赖于 iOS MapKit 框架和 iOS 定位服务来实时显示给定路线上公交车的当前地理位置,并提供两个位置之间的交通信息。根据 Apple的说法,iOS MapKit 框架使用 Google 服务来提供地图数据。某些功能会调用 Google 地图应用程序来提供交通规划和前往最近站点的转弯路线。

我的问题:

如果传闻属实,你认为 Apple 是否肯定会在不影响已经使用当前 MapKit 框架的应用程序的情况下实施任何更改?我应该为什么样的潜在问题做好准备?

4

2 回答 2

23

根据我使用 SDK 的经验,我可以告诉您:不,您不必担心,原因如下:

  • 众所周知,Apple 会维护向后兼容的更新。
  • Map Kit API 是封装的,根本不应该改变。
  • 即使实现地图和路线的技术发生变化,Apple 仍将保持相同的界面来访问这些功能。
  • 任何 SDK 的大部分低级功能都是封装的,它们的公共接口(我们开发人员可以访问)是稳定的,不应更改。
  • 这些接口的中断必须是非常难以想象的。
  • 更改较低级别的实现不会更改 Map Kit API 的公共接口。
  • 即使界面发生了变化,Apple 仍会保留旧界面并向其添加弃用元数据。这些接口仍然可以工作,并且可能会添加其他接口。

唯一的潜在问题是您需要考虑何时更新您的应用程序,这将是关于是否实施新 Map Kit 可能提供的新功能。

于 2012-06-09T21:12:30.463 回答
4

我同意 Omar 的观点,即 Apple 可能会非常努力地确保MapKit开发人员免受破坏。但是,会有一些问题。

我看到的第一个问题是使用谷歌地图的未记录功能。Undocumented 并不一定与Private APIs相同,它很难潜入应用商店(尽管并非不可能)。

例如,这种使用 URL 打开地图以显示路线的技术。这与 using 不同MapKit,但对于某些应用程序来说仍然可能是一个问题。

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

无论如何,大多数与地图相关的代码不应该被破坏。我只是想举几个例子来说明可能存在问题的地方。

更新:另外,有报道称新的苹果地图在某些方面不如谷歌地图。虽然它可能仍然有效,但如果您的应用程序正在执行诸如路由到某个地址之类的操作,您可能会发现 Apple 的新地图应用程序在查找您提供的位置方面做得较差。因此,为了像以前一样正常工作,您可能需要重构您的应用程序以使用坐标,而不是地址。同样,小事情可能会在这里有所作为。

于 2012-06-09T21:49:51.000 回答