iOS导航SDK开发包由MapSDK和NaviSDK两部分组成,导航SDK用到地图SDK的MapView。
其中NaviSDK由静态库、头文件和资源文件三部分组成。
头文件 | 资源包 |
---|---|
inc | 文件夹里面都是导航暴露的头文件,提供给第三方开发者的接口。 |
NaviResource | 内部是导航需要用的一些资源文件。 mode、baiduTTSSDK、baiduNaviSDK |
lib | libbaiduNaviSDK.a libBNTTSComponentSDK.a |
MapSDK包含以下库:
必要组件 | 非必要组件 |
---|---|
BaiduMapAPI_Map BaiduMapAPI_Base thirdlibs | BaiduMapAPI_Utils BaiduMapAPI_Search |
需要引入的系统库文件。如下所示:
库名称 |
---|
CoreLocation.framework |
libc++.tbd |
Accelerate.framework |
AssetsLibrary.framework |
libiconv.tbd |
UserNotifications.framework |
MediaPlayer.framework |
libsqlite3.0.tbd |
CoreTelephony.framework |
在 TARGETS ->Build Phases ->Link Binary With Libraries,添加这几个系统库即可,如下图:
把BaiduNaviSDK文件夹添加到工程中,通过在Xcode中单击工程文件,选择Build Phrases选项,点击Link Binary with Libraries下的“+”逐个将导航SDK添加到工程中。如开发者不需要用到BaiduMapAPI_Utils.framework、BaiduMapAPI_Search.framework的接口,可以去掉这两个库。如下所示:
通过在Xcode中单击工程文件,选择Build Phrases选项,点击Copy Bundle Resources 中底部的+添加baiduNaviSDK.bundle、model.bundle、baiduTTSSDK.bundle。
如下图:
选中工程双击选中弹窗中Add File to "工程名..."从BaiduMapAPI_Map.framework文件中选择mapapi.bundle文件,并勾选“Copy items if needed”复选框,单击“Add”按钮,将资源文件添加到工程中,如下图:
添加后效果如下
在Build Settings中, “Other Linker Flags”添加“-ObjC” 标识
如下图:
NSCameraUsageDescription | 百度导航需要使用照相机功能 | ||
NSLocationAlwaysAndWhenInUseUsageDescription | 只有开启定位功能才能正常使用百度导航 | ||
NSLocationAlwaysUsageDescription | 只有开启定位功能才能正常使用百度导航 | ||
NSLocationWhenInUseUsageDescription | 只有开启定位功能才能正常使用百度导航 | ||
NSMicrophoneUsageDescription | 百度导航需要使用麦克风功能 | ||
UIBackgroundModes | audio、location |
注意
编译出现以下错误
undefined symbol: __darwin_check_fd_set_overflow
请将Xcode升级至11.4及以上版本即可编译通过
上一篇
下一篇
本篇文章对您是否有帮助?