美文网首页ios实用开发技巧iOS开发进阶
集成百度导航的那些坑——iOS

集成百度导航的那些坑——iOS

作者: QueenOfThePain | 来源:发表于2017-12-13 20:02 被阅读22次

最近给一个旧的项目集成导航功能,在看过各个网站的集成指南和SDK文档之后,感觉非常简单。emmm........然后被坑得一脸血,下面就来讲讲可能碰到的那些主要坑点。
1.在项目已经使用了百度地图SDK(据说AFN/SDWebImage的部分版本也有)之后,我开始使用pod进行导入SDK,没想到,这第一步就错了,因为BaiduMapKit的SDK内和BaiduNavi使用了同样的库,叫做libcrypto.a和libssl.a,于是导致Pod导入失败,也有说是Pod1.3.1的BUG,总之无法导入,只能选择手动导入。
2.在删除掉重复的.a文件之后,我开始手动导入BaiduNavi,并在Appdelegate中导入<BNCoroService.h>,一切都看起来很正常,结果在我注册key的时候,问题出现了,而且这个问题非常严重,报错信息大致是:

clang: error: linker command failed with exit code 1 (use -v to see     invocation),

在使用各种搜索引擎尝试了多种手段解决无果后,我选择了在百度导航SDK的论坛内发帖,但是并没有人鸟我。。。非常尴尬。然后我注意到了置顶帖http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=130878&extra=page%3D1 内有这样一句话:
新版导航SDK可以和地图SDK v3.3.2同时使用,地图SDK的导入不要使用pod,直接从官网下载库拖到工程里,且需要确保导航的库(libbaiduNaviSDK.a)链接顺序在地图相关库的下方

于是我简直是一脸懵逼,原来你百度家的地图和导航SDK除了这样都无法共存的呀!摔!!
3.然后我开始找3.3.2版本的地图SDK。。官网竟然没有??are you fuck kiding me??? pod也只能下到3.3.4版本的百度地图SDK
于是我机智的修改了3.4.2版本SDK的下载链接 ,才下载到3.3.2的地图SDK,然后按照置顶帖所示,一步步配置好,在配置完后一定要记得:修改一个任意文件的后缀为.mm
4.最后在按照SDK附带的demo一步步配置好导航之后,由于我是在一个present的界面里面调用,报错:Warning: Attempt to present < UINavigationController: 0x163852800 >,这时的解决方法是在调用的文件内写上

-(id)naviPresentedViewController {
    return self;
}

然后模拟器上的导航就跑起来了,我满心欢喜以为终于结束了这段代码,于是拿出手机开始真机调试,然后一脸懵逼的盯着我那空白的地图界面...
emmmm....在打好断点,仔细查看了报错信息之后,发现了这样一条报错信息

地图所需资源文件不完整,请根据开发指南正确添加mapapi.bundle文件处理

我在确认过我的framwork里面有这玩意儿之后,只好再次使用搜索引擎

在下载的BaiduMap_IOSSDK_v3.2.2_All.zip文件包中 解压后在文件夹的BaiduMapAPI_Map.framework  /  Resources  路径下 就会发现mapapi.bundle 文件

重新拖入项目工程内,终于才。。。集成成功

我猜... 百度做导航的工程师大大和做地图的大佬们是不是有什么过节啊?

相关文章

  • 集成百度导航的那些坑——iOS

    最近给一个旧的项目集成导航功能,在看过各个网站的集成指南和SDK文档之后,感觉非常简单。emmm........然...

  • iOS集成百度导航SDK遇见的那些坑

    1.做过第三方开发的都知道第一步要下载对应的SDK,在这里就不多说了,附上百度地图SDK官方网址:http://l...

  • iOS集成百度导航

    第一遍集成百度导航的时候,遇到一些坑,当时懵懵懂懂的写完了,完全没感觉。 第二次写的时候,还是那些坑,甚至更多了,...

  • 各大导航URl API 集合

    百度导航IOS API 公交、驾车、导航、步行和骑行导航 调起iOS百度地图,展示指定导航模式下从起点到终点的路线...

  • 百度地图导航问题

    因为公司的项目,导致iOS必须要集成百度导航,说实话我直接认为百度地图开放平台真的很lj,很多东西改了,却没有详细...

  • RN-地图导航

    调起百度网页地图路径导航 调起高德网页地图路径导航 iOS调起百度APP地图路径导航 iOS调起高德app地图路径...

  • 搭建JENKINS+IOS持续集成遇到的坑与解决方案

    个人网站 搭建JENKINS+IOS持续集成遇到的坑与解决方案 本文并不是jenkins安装使用教程,百度,Goo...

  • 集成百度导航sdk的坑

    Exception is:org.gradle.api.tasks.TaskExecutionException:...

  • iOS9

    HTTPS和HTTP iOS 9 适配系列教程 iOS 集成银联支付(绕过文档的坑,快速集成) : www.coc...

  • iOS百度地图SDK记录

    基础地图 导航 使用集成的百度导航sdk,在不设置这个参数为YES。[BNCoreServices_RoutePl...

网友评论

    本文标题:集成百度导航的那些坑——iOS

    本文链接:https://www.haomeiwen.com/subject/vjnrrttx.html