1

我正在尝试将最流行的导航应用程序集成到我的应用程序中,并且我选择的所有这些应用程序都可以工作,除了 Sygic。

按照本指南,我编写了代码:

NSString *URL = [NSString stringWithFormat:@"com.sygic.aura://coordinate|%f|%f|drive",
                                           self.coordinate.longitude,
                                           self.coordinate.latitude];
      
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:URL]];

但是当代码运行时,Sygic 没有打开,什么也没有发生。

检查应用程序何时安装和未安装时[[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"com.sygic.aura://"]]返回(应该如此)。YESNO

我使用版本 13 的“Sygic Brasil”和“Sygic (All Regions)”进行了测试,但都无法打开。我还尝试了对 URL 字符串进行百分比转义,但这也不起作用。

4

1 回答 1

6

您尝试以下代码,

NSString *URL = [NSString stringWithFormat:@"com.sygic.aura://coordinate|%f|%f|drive",
                                       self.coordinate.longitude,
                                       self.coordinate.latitude];

NSURL *newURL = [NSURL URLWithString:[URL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] ];

if(newURL)
{
   [[UIApplication sharedApplication] openURL:newURL];
}
else
{
   NSLog(@"Something wrong with lat or long or both");
}
于 2013-12-26T12:42:30.083 回答