我使用百度地图感觉就像是坑了爹一样,总会出现各种问题,今天我在这个博客里面写写百度地图有可能出的坑。
------------------
首先百度上打百度地图API然后点击进去,点击开发,点击IOS地图SDK。
------------------
进到这个界面先点相关下载
------------------
进到这个里面,直接点全部下载(蓝色按钮),下载完成后解压缩
------------------
解压缩完成后是这个样子的,然后打开
-------------------
最后那个.DS_store没有用,你们别被误导,那个是我的隐藏文件,
我不会隐藏。。。
我不会隐藏。。。
我不会隐藏。。。
把zip文件解压缩,就是下面的两个蓝色文件夹
----------
---------
之后,回到概述,概述下面有个获取密钥,点一下会跳转,点击创建应用
-------------------
之后,应用名称输个你认识的名字,最好是工程的中文名,应用类型写,IOS,SDK,安全码,是你工程Bundle Identifier
-------------------
第三个那一长串英文字母,就是你的百度key这个你找个地方保存一下
-------------------
回到百度地图概述那里,然后你点击开发指南,直接点第三个注意事项,然后第四条和第五条,你需要注意一下,直接按照我图片上
一填加就可以了,剩下的内容不用看,直接点到配置开发环境
-------------------
之后到了配置开发环境之后,有一个自动配置,还有一个手动配置,我个人一直弄的是手动配置,我接下来写的肯定也是手动配置,接下来,点你的文件夹,点右键,点show in finder,在finder中,点到文件夹里面,你最好新建一个文件夹叫Frameworks,用来放.framework包
-------------------
点开Frameworks这个文件夹,把这7个文件拖进去,然后回到你的工程。
如果没法用的话,就删掉,用add file to "文件名"的方法添加进去
-------------------
把这个文件夹拖进去,里面就有了这7个BaiduMap.framework了,然后添加系统库,
CoreLocation.framework和QuartzCore.framework、OpenGLES.framework、SystemConfiguration.framework、CoreGraphics.framework、Security.framework、libsqlite3.0.tbd(xcode7以前为 libsqlite3.0.dylib)、CoreTelephony.framework 、libstdc++.6.0.9.tbd(xcode7以前为libstdc++.6.0.9.dylib)。
添加方式:在Xcode的Project -> Active Target ->Build Phases ->Link Binary With Libraries,添加
----------
-
--------
然后 在TARGETS->Build Settings->Other Linker Flags 中添加 -ObjC
再下一步,你点着Frameworks这个文件夹,点右键,有一个Add File to "项目名",你点击一下,找到你之前放7个BaiduMap库的文件夹,点这几个库,找到一个有Resources文件的库,点文件夹,点击add,你工程里面就有了mapapi.bundle
-------------------
然后添加头文件,如果头文件报错的话,就手打一遍,Xcode里面有的时候会出现,不手打就找不到的情况。
-------------------
然后在你的 AppDelegate.h 里面添加代理和属性
-------------------
在AppDelegate.m上,改名,改成 AppDelegate.mm 百度地图文档上要求做的,“为什么”我没看~
接下来,请把下面的内容复制
如果你要添加地图功能的话,就在你要用的那个视图上,打
地图完成了,如果需要其他功能去这个网址上找 http://lbsyun.baidu.com/index.php?title=iossdk/guide/hellobaidumap
----------------------
接下来,我要说下更加坑爹的定位,这个也是我用到百度地图一直用到的功能,如果你想在一开始就得到定位请求的话,你需要在AppDelegate里面写这个内容
如果不调用的话,请在info.plist里面添加
NSLocationAlwaysUsageDescription
NSLocationWhenInUseUsageDescription
NSLocationWhenInUseUsageDescription
你的定位系统就调用啦,本次就先写到这里吧,等有新的问题,接着更新