Android Studio编译IOS插件遇到的问题
最近项目中遇到个需要使用地图的需求,粗略看了一下Flutter这边只有谷歌地图的插件可以使用,但是谷歌地图在国内使用不了,原因嘛大家都懂得.
提一下高德地图目前是有插件的 https://github.com/OpenFlutter/amap_base_flutter
为了提升一下自己想自己动手写一个插件来实现.
创建插件和使用插件的过程就不写出来了,可以参考官网 https://flutter.dev/docs/development/packages-and-plugins/developing-packages
创建成功之后,分别在两端多加了原生view的实现,即在flutter层能够使用原生view.
在安卓端的编译很顺利,但在编译IOS的时候碰到个问题
Xcode's output:
↳
=== BUILD TARGET Runner OF PROJECT Runner WITH CONFIGURATION Debug ===
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_AMapViewFactory", referenced from:
objc-class-ref in libamap_plugin.a(AmapPlugin.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
奇怪的是我用Xcode跑示例工程的时候没有问题,但是用android studio跑主工程就有问题.
最后看到这个帖子,https://github.com/flutter/flutter/issues/13638
flutter clean
cd ios
pod install
然后就ok了.