命令行创建plugin项目:
~ %: flutter create --org com.konka --template=plugin plugin_echop2p --platforms=ios
~ %: flutter create -i swift .
工程目录结构
这个ios文件里面有.h.m文件(若选择swift语言,还会有.swift文件)编写插件需要的原生方法。
lib文件夹下的.dart文件主要实现与原生方法的通道。
当我们需要引用一些OC或Swift的framework时,在ios文件夹下创建framework文件夹(名字不固定),并将第三方库拷贝进来。然后在.podspec中添加
s.vendored_frameworks = 'Framework/*.framework'
这是指定第三方库路径引用。其它bundle等引用也可以用这种方式添加引用路径。
example下也有一个ios文件夹,可以鼠标右键用xcode打开
其中example下的ios文件夹可以用xcode打开,若不存在则在此目录下执行以下命令:
~ %: flutter build ios
~ %: pod install
打开后方便在xcode中编写代码
xcode路径
开发过程中的几个问题:
1,注意plugin中引用的framework是否有依赖库,在Build Phases里
2,我自己构建的framework中的.h头文件A中引用了framework中的其它.h文件B,但是只暴露了一个头文件,后续在使用的过程中,会提示找不到引用的B,需要全部暴露出来。
3,bitcode问题
4,swift和oc混编问题(flutter工程里面暂时还没解决swift调用oc的库的问题)
网友评论