浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。

iOS 定位SDK

开发者在自己的iOS移动应用中集成定位SDK,可轻松实现获取当前位置信息的功能。获取当前位置信息,即我们常说的定位。其中位置信息主要包括经纬度、地址、位置描述、周边POI等

简介

百度地图iOS定位SDK支持手动的方式对SDK进行部署。在进行手动部署前,您需要打开或者新建一个项目,然后按照如下操作步骤,完成定位SDK的部署工作。

1添加依赖库
将解压后的 BMKLocationKit.framework 文件复制或拖拽到工程文件夹中,左侧目录选中工程名,在TARGETS->Build Phases->Link Binary With Libaries中点击“+”按钮,在弹出的窗口中点击“Add Other”按钮,选择工程目录下的 BMKLocationKit.framework文件添加到工程中。

manual-create.png

注: 静态库中采用Objective-C++实现,因此需要您保证您工程中至少有一个.mm后缀的源文件(您可以将任意一个.m后缀的文件改名为.mm),或者在工程属性中指定编译方式,即在Xcode的Project -> Edit Active Target -> Build Setting 中找到 Compile Sources As,并将其设置为"Objective-C++"。
2引入系统库文件
需要引入的系统库文件包括如下:

CoreLocation.framework、SystemConfiguration.framework、Security.framework、libsqlite3.0.tbd(xcode7以前为 libsqlite3.0.dylib)、CoreTelephony.framework 、libstdc++.6.0.9.tbd(xcode7以前为libstdc++.6.0.9.dylib)、AdSupport.framework。

在 TARGETS->General->Linked Frameworks and Libraries 中点击“+”,依次查找上述文件,添加到工程中,完成系统库文件的引入操作。
3申请权限
(1)在项目的 Info.plist 根据自己的实际业务需求,添加定位权限。

iOS 8 - iOS 10 版本:

    - NSLocationWhenInUseUsageDescription:表示应用在前台的时候可以搜到更新的位置信息;

    - NSLocationAlwaysUsageDescription:表示应用在前台和后台(suspend 或 terminated)都可以获取到更新的位置数据;

iOS 11 版本:

    - NSLocationAlwaysAndWhenInUseUsageDescription:申请Always权限,以便应用在前台和后台(suspend 或 terminated)都可以获取到更新的位置数据(NSLocationWhenInUseUsageDescription 也必须有)。


注意:如果同时需要支持 iOS 8 - iOS 11 上支持后台定位,请在 Info.plist 中同时添加 NSLocationWhenInUseUsageDescription、NSLocationAlwaysUsageDescription 和 NSLocationAlwaysAndWhenInUseUsageDescription 权限的申请。


(2)在项目的Info.plist 添加App Transport Security Settings字段,并做相关设置如下:

manual-create1.png
4环境配置
在TARGETS->Build Settings->Other Linker Flags 中添加-ObjC。