美文网首页
关于flutter 插件(iOS 篇)

关于flutter 插件(iOS 篇)

作者: 91阿生 | 来源:发表于2021-11-09 11:23 被阅读0次
    终端创建 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@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原生项目能运行起来就说明成功了!

    相关文章

      网友评论

          本文标题:关于flutter 插件(iOS 篇)

          本文链接:https://www.haomeiwen.com/subject/dxemzltx.html