我想使用我的应用程序中的路由,以便使用正确的“发件人”和“收件人”地址打开 TomTom 或 Navigon。有人知道 TomTom 或 Navigon 应用程序是否在 iPhone 上注册了 URL 处理程序吗?
7 回答
Navigon 提供了一个PDF 演示文稿,其中包含他们称为 AppInteract 的方案的详细信息。到目前为止,我还没有从 TomTom 看到任何类似的东西。
如果您有权访问应用程序包(换句话说,您拥有应用程序,因此 iTunes 包位于 ~/Music/iTunes/Mobile Applications 中),您可以解压缩这些 .ipa 包并查看它们的 Info.plist 文件.
您应该通过在 ["CFBundleURLTypes"]["CFBundleURLSchemes"] 的数组中查找任何值来查看是否定义了任何 URL 方案。您可以访问http://iosdevelopertips.com/cocoa/launching-your-own-application-via-a-custom-url-scheme.html以获得更深入的解释。
即使您确定应用程序是为处理设备上的特殊 URL 方案而构建的,您也可能无法确定您实际上需要在 URL 中提供什么才能使应用程序执行任何有用的操作。换句话说,即使您知道 TomTom 应用程序处理类型为“tomtom://”的 URL 请求,您也不知道该怎么做。它可以期望 URL 中任意排列的各种不同信息。
除非访问应用程序包,我想您可以尝试直接联系 TomTom 或 Navigon。无论如何,您可能都需要联系他们以确定如何准确地使用您从 IPA 包中挖掘发现的任何 URL 处理程序。
查看 akosma 的 wiki:IPhone URL Schemes
不要打扰NAvigon。AppConnect PDF 现在几乎消失了,我们在致电德国寻求支持后陷入了死胡同。从我们的应用程序中点击街道地址时,我们能够启动 Navigon,但它不会路由或做任何事情 - 只是打开。
我目前正在研究是否有其他供应商愿意。我在 Tom Tom 支持下键入此内容时处于等待状态。
对于 Navigon,这适用于我的应用Taskly
NSString *urlString = [NSString stringWithFormat:@"navigon://YourAppName|%@||||||%f|%f",destinationName,destination.longitude,destination.latitude];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]];
是的,但不要为 TomTom 烦恼。他们运行 HTTP 重定向服务 ( Add to TomTom ) 将创建正确格式的 URL。该服务不仅拥有更稳定的 API,还支持自己的导航设备。
我已经验证了 ipa 并且 TomTom 实际上实现了一些 url 方案,例如 tomtomhome:// 和 tomtomTWOLETTERCOUNTRYCODE:// 但我无法获得进一步的文档。
我写信给 TomTom 要求提供文件,如果我得到一些文件,我会更新我的答案。