1.地图不能地位;
原因是你现在项目的百度地图初始化时需要用到Key,是你以前项目的Bundle Identifier申请的,与你现在的不相符合,你到百度地图上再去申请一个就好。
详见请到打开下面链接到官方文档中查看
http://lbsyun.baidu.com/index.php?title=iossdk/guide/key
2.打开百度地图进行导航时,返回的是以前的APP;看到问题就知道是白名单的设置问题;但是和其他的设置不同的是,这个需要到plist文件中和代码去实现; 步骤如下:
1)到工程的plist文件下面设置你的URL Schemes;可能还有朋友不知道URL Schemes到底是什么,我先大概解释一下:
我们所知道的URL Schemes 是由两个单词组成的,
URL我就不多解释了,相信你们都了解;eg:http://www.apple.com
Schemes英文翻译是计划,规划的意思,在这里表示的是一个 URL 中的一个位置——最初始的位置,即 ://之前的那段字符。比如 http://www.apple.com 这个网址的 Schemes 是 http
URL的规划,到底是什么意思呢?
在以本地应用为主的 iOS 上,我们可以像定位一个网页一样,用一种特殊的 URL 来定位一个应用甚至应用里某个具体的功能。而定位这个应用的,就应该这个应用的 URL 的 Schemes 部分,也就是开头儿那部分。比如短信,就是 sms:
URL Schemes 使用详解 - 少数派 URL Schemes详解
回到正题
到plist文件中打开URL types,将item0的URL Schems打开,加一项进去
然后到程序里面需要跳转的地方,添加代码
NSURL *appUrl = [NSURL URLWithString:@"wxxt://abcdef"]; //wxxt为目标App跳转的key
if([[UIApplication sharedApplication] canOpenURL:appUrl]){
[[UIAppliactioin sharedApplication] openURL:appUrl];
}
你也可以直接在项目的全局搜索[UIAppliactioin sharedApplication] openURL://解释:APP之间的跳转都是通过这个方法来的。把上个APP定义的URL Schems全部替换过来;
eg:
以百度地图导航为例的话,如下
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"baidumap://"]]){
//初始化调启导航时的参数管理类
BMKNaviPara* para = [[BMKNaviPara alloc]init];
//指定导航类型
para.naviType = BMK_NAVI_TYPE_NATIVE;
//初始化终点节点
BMKPlanNode* end = [[BMKPlanNode alloc]init];
//指定终点经纬度
CLLocationCoordinate2D coor;
coor.longitude = [longitude doubleValue];
coor.latitude =[latitude doubleValue];
end.pt = coor;
//指定终点名称
end.name =[dicInfo objectForKey:@"ah1906"];
//指定终点
para.endPoint = end;
//指定返回自定义scheme
para.appScheme = @"wxxt://";
//调启百度地图客户端导航
[BMKNavigation openBaiduMapNavigation:para];
return;
}else{
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"iosamap://"]]){
NSString *stringURL = [NSString stringWithFormat:@"iosamap://navi?sourceApplication=你的APP名字&backScheme=wxxt(plist文件中定义的urlShemes)://&poiname=%@&lat=%@&lon=%@&dev=1&style=0",poiname,lat,lon,nil];
NSString* encodedString = [stringURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString:encodedString];
[[UIApplication sharedApplication] openURL:url];
}else{
/*百度app链接地址*/
NSString *url=@"https://itunes.apple.com/us/app/bai-du-tu-yu-yin-dao-hang/id452186370?mt=8";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
}
}