关于BaiduMapSDK遇到的问题的一点总结

在使用百度地图的SDK进行ios的开发时,一开始照他的官方文档进行了配置,结果出错为

(null): "_OBJC_CLASS_$_BMKMapManager", referenced from:

(null): Objc-class-ref in AppDelegate.o

(null): Symbol(s) not found for architecture i386

(null): Linker command failed with exit code 1 (use -v to see invocation)


然后无上网查询了各种资料,也看到了很多解决的办法,其实前两个错误:

(null): "_OBJC_CLASS_$_BMKMapManager", referenced from:

(null): Objc-class-ref in AppDelegate.o

是由于在百度的SDK文件李有两个libbaidumapapi.a的静态库文件,分别在两个子文件夹中,是百度用于适配不同模拟器和真机两个版本的,但是xcode不能识别同名的静态库版本,结果就造成了找不到那个文件的问题.后来我使用官方文档中的第二种方法,用 lipo –create Release-iphoneos/libbaidumapapi.a Release-iphonesimulator/libbaidumapapi.a –output libbaidumapapi.a命令将两个版本的静态库合成为一个通用的版本,然后将存放两个版本静态库的子文件夹删除掉只留下一个通用版本的.a文件就可以了.


至于后两个错误:

(null): Symbol(s) not found for architecture i386

(null): Linker command failed with exit code 1 (use -v to see invocation)

一开始上网上搜,有的说是修改 Xcode的Project -> Edit Active Target -> Build -> Search Path -> Library Search Paths下的路径的的,也有的说是在Build Phases -> Compile Sources下添加库中的.m文件的,还有说是修改Build settings ->Linking->Other Linker Flags中添加-all_load的,结果都不行,最后是将Other Linker Flags下的所有选项都删除掉了结果就变异通过的.具体是什么原理我也不是很清楚,希望有大神能够指点我.还有就是这个错误只是我用来解决我的工程中出现的问题的,并不适用与所有的类似错误,所以仅供参考~!!!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值