5

如何以编程方式获取 iOS 上已安装的“路由应用程序”列表?

这背后的原因是,iOS 提供了大量的导航应用程序,我不想手动维护列表。

Apple 自 iOS 6 以来提供了一项新功能,可将您的应用注册为路由应用,如此处所述http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/LocationAwarenessPG/ProvidingDirections/ProvidingDirections.html#// apple_ref/doc/uid/TP40009497-CH8-SW7

如果您随后在常规地图应用程序中开始路由,您会看到一个能够为您路由的应用程序列表,如您在此处看到的:

在此处输入图像描述

我找不到获取列表的方法。当然,我可以通过在 UIApplication 中使用 canOpenURL: 来查询是否安装了某个特定的应用程序,但这会非常乏味。

我知道这一定是可能的,因为著名的“去哪里?” 应用程序提供了这样的功能。

任何提示表示赞赏!

4

2 回答 2

0

好的,我自己试一试。也许是“去哪里?”的作者。确实维护一个路由应用程序列表,并通过查询该应用程序的 url 方案来检查是否安装了该应用程序。对于他发现的所有应用程序,他都会提供一个“ROUTE”按钮。对于他没有找到的所有应用程序,他会提供一个链接到应用程序商店的条目。

当然,这不会列出所有路由应用程序,但它通过拥有一长串自编译的路由应用程序列表来给人一种印象。

编辑:这是“去哪里?”的截图:

截图来自

于 2013-03-29T00:34:21.970 回答
0

由于 iOS 6 沙盒,没有真正的方法可以做到这一点,因为您无法访问不在您自己的地址空间中的任何内容。Maps 应用程序可以做到这一点,因为 Apple 保留在您的手机上访问它想要的任何数据的权利,包括您已安装的应用程序。

于 2013-03-28T21:40:50.773 回答