写项目时,涉及到一个导航到球馆的功能,可以选择在app里加一个地图,但是这个方案接入要一定的时间,还会增加APP的内存占用;所以我选择了通过URL Scheme
去调用手机已安装的导航软件来进行导航,这里我用高德地图,腾讯地图、苹果地图来举例。
第一步:配置info.plist文件
在 iOS 9 之后我们做跳转是需要有个白名单的,添加白名单的方法就是在 info.plist 文件里面,添加一个字段LSApplicationQueriesSchemes
类型为数组,然后在这个数组里面再添加我们所需要的地图 URL Scheme
:
苹果自带的地图不需要URL Scheme
。
第二步:判断手机是否安装了该软件
[[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:要检测的地图的URL Scheme]
第三步:查清各导航软件的开发文档
第四步:写调用各软件的方法
源代码:demo
效果: