1、搭建Flutter開發環境
參考中文文檔
https://book.flutterchina.club/chapter1/install_flutter.html (如果執行flutter packages pub publish --dry-run 會提示錯誤信心,直接執行flutter packages pub publish)
其中需要提別注意:如果你使用的是zsh,終端啟動時 source $HOME/.bash_profile 將不會被加載,解決辦法就是修改 ~/.zshrc ,在其中添加:source $HOME/.bash_profile
2、開發Flutter插件
2.1、使用Android Studio?
項目創建完成后會自動生成.dart文件,同時在iOS工程里會自動創建插件類FlutterDflPlugin。FlutterDflPlugin為Flutter交互類,在這里可實現Flutter調用原聲代碼
插件會在GeneratedPluginRegistrant 文件中自動引入使用。
3、插件上傳
3.1 cd 插件目錄下執行?flutter pub publish --dry-run,如果沒有填寫homepage則會提示“Package validation found the following potential issue:* It's strongly recommended to include a "homepage" or "repository" field in your pubspec.yaml” 需要填寫homepage,然后根據提示輸入y。
3.2 可能會提示License問題,我們可以在github上創建Create a new repository?添加License。
3.3 拷貝License內容到Flutter的License,
重新執行flutter pub publish --dry-run?
如果沒有問題執行發布?
flutter packages pub publish
3.4 ?如果提示?
插件上傳成功后 cd example 目錄下,執行flutter run,運行demo測試
4、引入插件
1、在pubspec.yaml 文件里增加插件按步驟1、2、3執行
2、完成后回到iOS項目中,可以看到GeneratedPluginRegistrant這里已經自動處理好了
3、找到FlutterDflPlugin.m 文件,增加交互邏輯判斷
5、flutter 插件開發導入第三方framework方法
5.1 ? 在flutter插件的的iOS目錄下增加Frameworks文件夾,這里以FlutterBridgeFramework.framework為例,將FlutterBridgeFramework導入到該文件中
5.2,在iOS目錄里找到.podspec文件增加? s.vendored_frameworks ='Frameworks/*.framework';然后發布插件執行flutter packages pub publish