iOS URI 调用说明 最后更新时间: 2024年11月21日
适用环境
iOS 移动设备网页端或移动应用 APP。
支持版本
支持 iOS 高德地图 APP V2.3.0 及以上版本。
术语约定
scheme 调用:该术语同 iOS 平台的 scheme 术语,指代第三方应用程序调用高德地图 iPhone 客户端方式。
Intent 调用:同 Android 平台术语,指代第三方应用调用高德地图 iOS 客户端的方式。
协议格式
高德地图注册 scheme:iosamap。
用例说明
步骤 1:配置白名单
由于iOS的限制,iOS9之后app想调起高德地图,必须在自己app设置中配置白名单。
配置方法:
1、找到您的Info.plist文件
2、在文件中添加key:LSApplicationQueriesSchemes,类型是Array,如果曾经添加过,无需再次添加。
3、Array中添加一个item,类型为String,值为iosamap。
添加完成后截图如下:
步骤 2:判断是否安装了高德地图
配置完成后,您就可以在自己的app中判断高德地图是否已安装。
示例代码如下:
NSURL *scheme = [NSURL URLWithString:@"iosamap://"];
BOOL canOpen = [[UIApplication sharedApplication] canOpenURL:scheme];
如果canOpen为YES,则安装了高德地图;如果canOpen为NO,则未安装高德地图。
步骤 3:调起高德地图
使用iOS提供高德API即可调起高德地图,需要注意的是从iOS10版本起,API有更新。
NSURL *myLocationScheme = [NSURL URLWithString:@"iosamap://myLocation?sourceApplication=applicationName"]; if ([[UIDevice currentDevice].systemVersion integerValue] >= 10) { //iOS10以后,使用新API [[UIApplication sharedApplication] openURL:myLocationScheme options:@{} completionHandler:^(BOOL success) { NSLog(@"scheme调用结束"); }]; } else { //iOS10以前,使用旧API [[UIApplication sharedApplication] openURL:myLocationScheme]; }