本篇笔记使用的百度的iOS SDK下载于2015年07月14日,版本为iOS SDK v2.8.0。
1.前期工作
创建一个工程,设置好bundle id和开发者账号。
用公司的邮箱等等注册了百度账号,一切设置好后创建应用。暂时没有服务端人员配合我,想想还是创建了一个服务器类型的应用。IP白名单就按下面的说法,填写了0.0.0.0/0。
然后又创建了iOS SDK类型的应用,bundle id与工程相同。
得到两个ak。
2.配置工程
新建MapViewController,将后缀.m改为.mm,顺便也把所有.m全都改成.mm了。
下载百度提供的地图资料,并解压以后,打开终端,输入
cd Downloads/BaiduMap_IOSSDK_v2/BaiduMap_IOSSDK_v2.8.0_Lib
lipo -create Release-iphoneos/BaiduMapAPI.framework/BaiduMapAPI Release-iphonesimulator/BaiduMapAPI.framework/BaiduMapAPI -output Release-iphoneos/BaiduMapAPI.framework/BaiduMapAPI
输入
cd Downloads/BaiduMap_IOSSDK_v2/BaiduMap_IOSSDK_v2.8.0_Lib/Release-iphoneos/BaiduMapAPI.framework
这时候我是退了一次终端,如果没退,上面应是
cd Release-iphoneos/BaiduMapAPI.framework
再输入
lipo -info BaiduMapAPI
可以看见支持的架构。
把BaiduMapAPI.framework拷贝到工程所在文件夹下,然后到TARGETS里添加framework。
点击Add Other…找到工程目录下的BaiduMapAPI.framework,添加进来。
将Xcode的Project -> Edit Active Target -> Build -> GCC4.2 - Language -> Compile Sources As设置为”Objective-C++”。
在Xcode的Project -> Edit Active Target -> Build -> Linking -> Other Linker Flags中添加-ObjC。
在Info.plist里添加NSLocationAlwaysUsageDescription和NSLocationWhenInUseUsageDescription,都是布尔值,设为YES。
在Info.plist里添加Bundle display name,string值,设为“地图测试”。
添加所需的framework,比文档里多添加一个UIKit。
运行一下,可以了。