IOS学习中,因为小组在做一个项目,而这个项目其中有包括地图定位的功能,所以在老师还没有讲到的情况下,凭着一腔热血和一点自信,投入进了地图SDK的自学中,结果自然是撞得一头包的跑出来(MD做视频的写手册的你们敢出来,我肯定不会打你!!!)。有一些细节问题,在视频和开发手册上是没有提到的,这时候就是把自己的头皮抓破都是没有结果的。为了散播关爱节省洗发水,特地从坑里边爬出来,帮大家竖个牌子,顺便喘口气。
百度地图 iOS SDK是一套基于iOS 5.0及以上版本设备的应用程序接口,不仅提供展示地图的基本接口,还提供POI检索、路径规划、地图标注、离线地图、定位、周边雷达等丰富的LBS能力 。您可以使用百度地图iOS SDK开发适用于移动设备的地图应用,通过接口,您可以轻松访问百度服务和数据,构建功能丰富、交互性强的地图应用程序。该套SDK提供的服务是免费的,任何非营利性程序均可使用,您需要先申请密钥(key),才可使用该套SDK接口。任何非营利性产品请直接使用,商业目的产品使用前请参考使用须知。
在您使用百度地图iOS SDK之前,请先阅读百度地图API使用条款。
在您使用百度地图iOS SDK之前,请先阅读百度地图API使用条款。
在您使用百度地图iOS SDK之前,请先阅读百度地图API使用条款。
三遍!!!
三遍!!!
三遍!!!
以上是官方文档,除了三遍的,其他可以忽略,反正我是凑字数的。
一、申请key
申请key 官方文档 步骤。
注意最后一步,填写安全码(也就是程序的Bundle Identifier)。切记,我们之前写demo的时候,习惯用的是中文,所以他的Bundle Identifier的格式大致是这样的 "---.---.demo" 。而此时,为了避免出一些问题,Bundle Identifier最好用英文(别问我为什么,我也不知道,有知道的这里请教了,有猎奇心理的自行测试)。
二、配置环境
1.infoPlist文件的配置。
1.1.添加App Transport Security Settings -> 中的 Allow Arbitrary Loads 为 YES。
1.2 添加LSApplicationQueriesSchemes (Type为数组类型) -> 添加一个string (baidumap)
1.3 添加NSLocationWhenInUseUsageDescription 或者 NSLocationAlwaysUsageDescription 。这两句话对于定位功能的,前者为允许在前台使用时获取GPS,后者为允许永久使用GPS。具体情况具体分析使用哪一个。此处有人会将Type类型设置为string,然后添加一个提示内容,有人设置为Boolean类型 -> YES。看心情随意吧。
2.库的配置
2.1 使用cocoapods添加BaiduMapKit 配置开发环境官方文档
2.2 注意,注意,注意,官方文档中分为自动配置和手动配置。作为现实低端,但内心高端的我,对手动配置表示了绝对的不屑,所以从不知道细心是啥东西的我基本上是直接略过了手动配置。然后。。。然后我就爆炸了!
其中有很多重要的基础的系统库,也是要引入进去的。大家自己小心伺候啊。这里我就说一下如何导入mapapi.bundle资源文件。因为它跟其他的不一样,需要另一种方式引入。
方法:选中工程名,在右键菜单中选择Add Files to“工程名”…,从BaiduMapAPI_Map.framework||Resources文件中选择mapapi.bundle文件,并勾选“Copy items if needed”复选框,单击“Add”按钮,将资源文件添加到工程中。
具体是这个样子的:
1.
找到自己的工程所在的文件夹,Pods文件夹 -> BaiduMapKit文件夹 -> BaiduMapKit文件夹(是的,这里有两次,而且后两个文件夹的名字看实际情况吧,这个不重要)进来之后是这个样子的。
点开BaiduMapAPI_Map.framework -> Resources文件夹 -> mapapi.bundle文件。这样我们就找到了这个文件,然后选中它,勾选下边的“Copy items if needed”复选框。add添加,完事。
3.扩充一点
定位
因为我们是在模拟器上运行程序来定位,所以定位的经纬度是由模拟器的位置也就是Location来决定的。如果你编写程序,却定位在了一个莫名其妙的位置的时候,除了仔细检查下自己的程序是否有错误之外,你可以抽点时间来检查一下模拟器的Location( 这段话我是抹着眼泪敲出来的...)。
首先选中模拟器 -> Debug -> Location -> custom Location 。 点开它,就出来了模拟器的location,你可以自定义设置它的位置。
4.结束
到这里就这篇文章就已经结束了,关于我在自学过程中,配置环境中遇到的一些问题,基本上都在这里了,因为遇到了问题,找百度论坛提问,搜寻答案实在虐心,而且官方基本爱理不理的,所以出现问题的时候基本我是崩溃的。也就有了这篇文章,用来祭奠一下逝去的青春。
鞠躬谢幕退场。