终端创建 flutter 插件:
com.example: 项目的 bundle ID / 包名
xxx_plugin:插件名称
flutter create --org com.example --template=plugin --platforms=android,ios -i swift -a kotlin xxx_plugin
显示的目录:
插件目录.png
iOS 篇
iOS 插件目录.pngAssets:存放资源
Classes:存放 swift / OC 代码
sound_plugin.podspec:配置依赖某些库
以我项目为例子,项目里依赖了本地庫 xxx.framework:
① 创建一个 Frameworks 文件夹 将本地依赖库添加进去
Frameworks.png
② 配置 .podspec 文件:
Pod::Spec.new do |s|
s.name = 'sound_plugin'
s.version = '0.0.1'
s.summary = 'A Sound Flutter plugin.'
s.description = <<-DESC
A Sound Flutter plugin.
DESC
s.homepage = 'http://example.com'
s.license = { :file => '../LICENSE' }
s.author = { 'Your Company' => 'email@example.com' }
s.source = { :path => '.' }
s.source_files = 'Classes/**/*'
s.dependency 'Flutter'
s.platform = :ios, '9.0'
s.vendored_frameworks = 'Frameworks/xxx.framework' #依赖xxx库(本地庫路径)
s.frameworks = 'xxx' #依赖xxx庫,会添加到插件项目 Frameworks and Libraries中
# Flutter.framework does not contain a i386 slice.
s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' }
s.swift_version = '5.0'
end
③ 把写好的原生交互代码全部拖进 Classes 中
④ 打开 flutter 创建的插件项目中得 example
iOS.png
进行 pod install 操作
当遇到无法识别 xxx.framework 时,可在
image.png
如果iOS原生项目能运行起来就说明成功了!
网友评论