关于导入百度导航SDK报错以及解决方案

1.由于工程中使用的百度地图的其他SDK在加入百度导航SDK时报如下错误:

Undefined symbols for architecture arm64:

  "_OpenSSL_add_all_algorithms", referenced from:

      _baidu_vi::BNCVSocketMan::BNCVSocketMan() in libbaiduNaviSDK.a(BNVSocket.o)

  "_SSL_CTX_set_options", referenced from:

      _baidu_vi::BNCVSocketMan::BNCVSocketMan() in libbaiduNaviSDK.a(BNVSocket.o)

ld: symbol(s) not found for architecture arm64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

解决方案:只需要把导航的SDK放在其他百度SDK后面引用就好了,如:


2.发起导航时报TTS授权失败

解决方案:

(1)确保已在百度语音管理平台(http://yuyin.baidu.com/app)添加了应用,开通语音合成服务,并且也填写过包名

(2)确保在初始化导航时调用过以下代码:

//TTS在线授权
 [BNCoreServices_Instance setTTSAppId:@"10224308"];

(3)确保将baiduNaviSDK.bundle,baiduNaviSDK.xcassets这两个文件夹加入Copy Bundle Resources条目下,如:

经过以上解决方案,我已能正常在工程中使用导航SDK了
思考:
导入三方SDK的时候最好还是先把将要导入的三方SDK复制到工程内,再使用"Add File to...",最后需检查要导入的三方库是否在"Link Binary With Libaries"中找到相应的.a或则.framework文件,以及在"Copy Bundle Resources"中是否能找到相应三方库对应的资源文件如:.bundle文件,如果没有需要加入。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值