我正在尝试将最流行的导航应用程序集成到我的应用程序中,以及所有我选择工作的应用程序,但Sygic除外。
this guide之后,我编写了代码:

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://"]]会返回YES;如果未安装,则返回NO(应如此)。
我使用版本13的“Sygic Brasil”和“Sygic(所有地区)”进行了测试,但都无法打开。
我还尝试了对URL字符串进行百分比转义,但这也不起作用。

最佳答案

您尝试遵循以下代码,

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");
}

关于ios - Sygic URL方案-应用程序无法打开,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20784681/

10-09 12:29