关于flutter 插件(iOS 篇)

终端创建 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 插件目录.png
Assets:存放资源
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 protected]' }
  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原生项目能运行起来就说明成功了!

你可能感兴趣的:(关于flutter 插件(iOS 篇))