百度定位集成问题(iOS)
2020-09-26 本文已影响0人
4c8fd9ddcb74
因为公司业务需要,领导要求使用百度定位这个Flutter 的库,以下介绍集成百度地图的相关步骤以及坑点 (不是一般的坑)。
一、集成Flutter 插件
-
下载百度地图的demo,找到demo的plugins文件夹,把整个文件夹拷贝到自己项目的根目录中
当然也可以自己创建文件夹,bdmap_location_flutter_plugin必须得有
导入后效果
-
找到Flutter项目
的pubspec.yaml文件,添加定位配置
需要注意的是这个格式必须要对,避免产生不必要的空格之类的字符
-
commond(ctrl) + s 或者点击package get,或者点击下载图片完成插件的集成。
145940.png
-
打开项目的ios项目
---> 双击打开Runner.xcworkspace 文件
QQ20200813-150704.png
-
选中项目的Pods 然后右方会出现
的targets子项目,然后再选中Build Phases --> Link Binary With Libraries 添加对应的库,一共有十个,少哪个都要自己手动加,添加的库参考手动部署定位SDK,部署过程根据官网步骤配置,问题不大
bdmap_location_flutter_plugin 子项目
注意手动添加BMKLocationKit.framework库
-
然后你就可以开心地进行在VSCODE中执行flutter run 命令,迎接坑的到来
QQ20200813-153750.png
QQ20200813-153750.png
QQ20200813-153841.png
QQ20200813-153918.png
-
问题很长我就直接告诉如何处理了,英文好的可以一行一行看具体是什么意思,我的处理方式就是在项目中重新添加图下的两个库
这两个库必须,如果少了AdSuppert的话会报错,想知道错误可删掉自行体会
-
添加两个库之后问题就解决了,可以运行flutter run 看看效果,接下来更
的地方来了,先看看运行后的问题
是不是很纠结,明早库都导入了居然提示没有找到对应的库头文件,请看下一张图
可以对比一下第5步的那个图,是不是发现少了些什么东西,就是之前导入的库全没了
-
库没了,只能老实重新再导入,再告诉读者一个坑,这些库一旦你修改了pubspec.yaml 文件,例如添加或者删除某些插件,那恭喜你,重新再导一次吧,或者尝试官方的自动导入(本人没试过)
-
问题总是一波三折,再次flutter run 之后,异常如期而至
意思是和UIKit 相关的,倒是好解决,直接看下图
就是重新添加Foundation.framework,把原来那个看着有点差异的同名库删掉
至些,恭喜你,百度定位已经集成好了
后面就是项目集成了,可以参考官方文档