iOS开发中如何使用百度地图SDK

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS开发中如何使用百度地图SDK相关的知识,希望对你有一定的参考价值。

成功将百度地图sdk为我所用!
现将具体步骤分享如下:xcode5.0.2/BaiduMap_iosSDK_v2.4.0_All(下载最新版本,与之前有所不同) 首先注册百度帐号,进入百度LBS开放平台,选择IOS开发,进入页面,按照步骤执行:
1、申请key,创建应用,一个应用对应一个Key。技术分享
应用名称就填写你要绑定的应用名字,注意:一旦填好不可更改!应用类型选择for mobile;安全码:打开项目,选择
技术分享

技术分享

—>就是Bundle Identifier里面的内容;创建成功后会给你一个24位的key,记好,以后会用到。然后回到刚才的开发者页面,根据开发指南接着来,首先,注意事项里第一条,我选择了第一种方式将AppDelegate.m改为AppDelegate.mm;第二种方式,我没找到在哪里设置,而且一旦改为Objective-C++后面还要在改为Objective-C 编译方式,比较麻烦;
第2、3、4、5条就无所谓了,没改;下一步,Hello BaiduMap;首先导入百度地图的所有头文件技术分享
inc文件夹中包含所有的头文件,为了方便我将BMapKit.h加到了预编译文件中;
导入系统framework:
技术分享

技术分享

技术分享

 点击加号把需要的库文件添加进去即可;然后引入mapapi.bundle文件,也可以不用,里面有一些图片什么的;至此,编译应该是没有问题的。最后也是最关键最容易出错的地方,导入静态库文件,从下载的百度sdk中找到两个.a文件,一个是用于真机测试的,一个是用于模拟器的,根据当前开发者页面中的提示,我首先选择了第一种方式,直接将两个.a文件都拖进了工程中,编译后提示链接错误,找不到.a文件,技术分享
还有个i386的错误,这尼玛让我头疼了。查阅文档请求大婶,最终没有解决,而且这种方式就算编译通过,在每次运行或者真机测试的时候都要重新在导入一遍,果断放弃治疗;改用第二种方式,使用lipo命令将设备和模拟器的.a合并成一个通用的.a文件,将合并后的通用.a文件拖拽至工程中即可,打开终端,进入下载好的带有两个.a文件的目录,执行命令lipo -create Release-iphoneos/libbaidumapapi.a Release-iphonesimulator/libbaidumapapi.a -output libbaidumapapi.a;好,那么问题来了:当然肯定不是挖掘机哪家强的问题,当我执行该行命令后弹出一长串error,英文的,大概就是说找不到我的Xcode的目录,让我重新设置目录。原来lipo命令的执行是要有编译器的支持,才能将两个文件合并,而我的小苹果上面的确也安装了Xcode为什么他就找不到呢。通过查阅相关文档又看了具体错误提示,才仿佛明白,由于我的小苹果上面装了两个不同版本的xcode,一个是Xcode 6.0,为了便于区分另一个我命名为xcode2 5.0,默认是用6.0打开,而我用的是5.0,他就不知道要通过哪个编译器来执行,于是乎,我果断将6.0卸载掉了,重新执行合并命令,这次,问题又来了:大概也是说 提示说在应用程序中没有找到Xcode应用程序,无法执行操作,并弹出一个框,是否安装xcode?我到应用程序里查看了一下,明明存在,为什么说没有呢,找了好久没找出个123来,重启xcode,重启模拟器,重启小苹果,还是不行。这下真没招了,算了去吃饭吧,在餐厅点了个叫双蛋火腿套餐的饭,看名字应该是有两个鸡蛋加一个火腿,盛上来看了下是火腿炒鸡蛋,我就弱弱的问了一下,这个叫双蛋火腿饭么?盛饭的妹子说,是的,你还可以选其他两个菜,可以加一个煎鸡蛋。我看了一下其他菜,的确有一盆煎鸡蛋!才明白,原来双蛋是这个样子的!看来不能只看名字啊。这到使我想起那个错误,找不到我的xcode,是不是因为我给他重命名了?所以找不到叫Xcode的编译器,果断快速吃完饭回去将xcode2 5.0 改为标准命名:Xcode;在次执行合并命令,success!那个兴奋啊,赶紧将合并好的libbaidumapapi.a文件导入工程,Command+B ——>Build Succeeded! 根据刚才开发者页面的提示加点代码,Command+R————>京城的地图就这样神奇般的出现在了我面前!!

写这些东西,希望对那些和我一样有着同样问题的初学者有所帮助。

以上是关于iOS开发中如何使用百度地图SDK的主要内容,如果未能解决你的问题,请参考以下文章

iOS开发之引用百度地图SDK

集成百度地图SDK(swift)

iOS百度地图

iOS开发之集成百度地图踩过的那些坑(基于 Xcode7.0/iOS9.2)

什么是百度地图android sdk

安卓不使用第三方SDK怎么开发街景地图