关于百度地图鉴权失败问题

最近项目中用到百度地图的功能 ,中间遇到一些问题,项目功能完成后,写一下遇到问题的总结,

关于集成百度地图的话,建议首先看一下 百度官方的文档中的《常见问题》那一项中列举出的有几成过程中会遇到的大部分问题。可以是你不必花很大的精力和时间就能够定位很多问题的所在,不过比较坑的也有一点,就是有些没有说的很明白的解决办法。这里遇到的一些 补充一下。诸君共勉

遇到问题

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    // Override point for customization after application launch.    // 要使用百度地图,请先启动BaiduMapManager    _mapManager = [[BMKMapManager alloc]init];    // 如果要关注网络及授权验证事件,请设定     generalDelegate参数 BOOL ret = [_mapManager start:@"QLLCt3bjKts81YIeFNfyWKbB"  generalDelegate:self];    NSLog(@"ret %zi",ret);    if (!ret) {        NSLog(@"manager start failed!");    }    // Add the navigation controller's view to the window and display.    [self.window addSubview:navigationController.view];    [self.window makeKeyAndVisible];    return YES;}鉴权总是在检索之后发起,请问是什么原因?下面是运行结果:2015-07-24 20:47:38.673 20150722Pio test[910:18718] 详细周边检索发送成功2015-07-24 20:47:38.674 20150722Pio test[910:18718] 周边检索发送成功2015-07-24 20:47:38.822 20150722Pio test[910:18718] 网络连接成功2015-07-24 20:47:38.823 20150722Pio test[910:18718] 鉴权成功2015-07-24 20:47:38.925 20150722Pio test[910:18718] error 10 BMK_SEARCH_PERMISSION_UNFINISHED

   (一)    常见问题中的关于鉴权问题的操作

6、地图只显示网格

显示网格是由地图数据没有正常获取造成的,请检查网络是否正常,鉴权是否通过

29、检索发送失败

检查下发起检索时鉴权完成了没有,发起检索必须是在鉴权完成后,否则会发送失败

30、检索连续发送多次请求,只收到最后一个请求的结果

一个search对象,同一时间只能进行一次检索,要同时进行多个检索,需要使用多个search对象,在回调中通过search对象来区分是哪个检索

 说明: 以上三个问题都有关于鉴权问题的失败,检索,定位 和鉴权有关的时候,都会失败,而且有时候需要重复调用鉴权。而且在多地图切换的时候会造成崩溃的问题。这个就是和你导入的SDK 有关系的,当你导入3.4.2之前的SDK的话,会遇到这个问题,解决办法如下

升级新版SDK若已经安装了百度iOS地图SDK,想要更新到最新版本,在Podfile文件的目录下使用以下命令pod repo update #用于保证本地地图相关SDK为最新版 pod update 使用CocoaPods的问题pod search无法搜索到类库的解决办法(找不到类库)

(1)执行pod setup

(2)删除~/Library/Caches/CocoaPods目录下的search_index.json文件pod setup成功后会生成~/Library/Caches/CocoaPods/search_index.json文件。终端输入rm ~/Library/Caches/CocoaPods/search_index.json删除成功后再执行pod search

(3)执行pod search

这里值得注意的就是如果你的cocopods版本太低,是查找不到最新的sdk 的,需要清理一下缓存,才能查找的最新的SDK。


(二)如果以上设置全部正确 而且你的SDK也是最新版本的话,仍然会报鉴权失败在使用   POI检索 功能的时候出现了这个问题,打印对应的error为10,找到对应的错误原因:(BMK_SEARCH_PERMISSION_UNFINISHED,///还未完成鉴权,请在鉴权通过后重试)

请检查你的工程中in f.plist 文件中 是否设置里

这两个Key 要保证都是有值的

CFBundleDisplayName        $(PRODUCT_NAME)


CFBundleName               $(PRODUCT_NAME)

https://www.cnblogs.com/findumars/p/5064742.html

这里插入CFBundle 系列解释链接供参考

(三)就是检验你的鉴权代理是否设置 ,Key 是否填写正确了

你可能感兴趣的:(关于百度地图鉴权失败问题)