码迷,mamicode.com
首页 > 移动开发 > 详细

iOS百度地图笔记(环境安装)

时间:2015-07-08 20:42:42      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:

    最近有项目要使用到地图功能,先做一下调研。百度的ios开发环境需要具备两点,一 秘钥 二 SDK。在百度上搜索“ios百度地图api”,然后打开网页“百度地图API-首页”。在此官网上可以获取所有需要的条件。

    一 获取秘钥

    在官网上点击“申请秘钥”

    技术分享

    点击创建应用

        技术分享

    这里需要注意几点:

    1 应用类型选择 iOS SDK;2 安全码是使用百度地图SDK的APP的bundle ID。

    点击提交,这样在你账号下的应用列表中就能看到百度给你分配的秘钥了。访问应用(AK)字段即为秘钥。

 

    二 获取SDK并且配置环境

    在iOS地图SDK > 相关下载中,选择传统.a形式静态库(本文以.a为例,想使用.framework的朋友请自行研究并感谢分享^_^),全部下载。解压缩,在BaiduMap_IOSSDK_v2.8.0_Lib目录中可以看到百度给了两个.a文件,分别是真机和模拟器的。打开终端,执行命令将两个.a文件打包成一个既可以真机使用也可以模拟器使用的.a文件。

    技术分享

    然后将生成的.a文件拖到工程中。将inc目录中的所有SDK的头文件拖到工程中。将mapapi.bundle拖入工程。

    添加工程所依赖的framework:Foundation.framework、UIKit.framework、MessageUI.framework、Security.framework、CoreGraphics.framework、SystemConfiguration.framework、OpenGLES.framework、QuartzCore.framework、CoreLocation.framework。

    将AppDelegate.m文件后缀改成.mm(因为SDK实现是用c++写的,所以工程中需要至少有一个c++文件。也不改名,将工程中的compile source as设置为objective c++)。

    根据秘钥中填写的信息,修改工程的bundleID和display name 。

    在info.plist中增加字段NSLocationAlwaysUsageDescription和NSLocationWhenInUseUsageDescription,值都为YES(app启动时会向用户索要权限,两个字段都设置时,后者生效)。增加Bundle display name字段,否则百度地图初始化时会报错。

    在AppDelegate.h中添加BMKGeneralDelegate协议(检查网络状态)

    在AppDelegate.mm中添加代码

    技术分享

     技术分享

    在viewcontroller中添加代码

    技术分享

    编译、运行。

    技术分享

 

 

    问题解决:

    1 编译提示 不支持 arm64、armv7等等,第一请确认工程设置为objectiv c++编译模式,第二请确认所有的framework已添加。

    2 没有授权成功,请确认秘钥的申请流程、bundleID等是否填写正确。

    3 不进入didUpdateBMKUserLocation回调函数的,请将_locService变量设置为成员变量,百度例子中给的局部变量出了函数就消失了,启动的服务也自然停止了。

 

 

    目前为止,环境安装已就绪,稍后将会继续分享具体的使用心得。

    

iOS百度地图笔记(环境安装)

标签:

原文地址:http://www.cnblogs.com/xingjizhao/p/4631079.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!