一、創建的flutter項目和iOS項目同級,同一個文件夾內,可以使用命令創建flutter項目,也可以用Android studio或 VS code創建flutter項目
命令創建(要和iOS項目同級)
flutter create -t module xxx(flutter項目名)
Android studio或 VS code創建 官網https://flutter.cn/docs/get-started/editor?tab=androidstudio
Enable Bitcode設置為NO
二、Xcode打開現有的iOS項目,新建一個文件夾Config,在文件夾里面創建三個配置文件Flutter.xcconfig\Debug.xcconfig\Release.xcconfig,如下圖
文件內容如下圖
三、創建完成xcconfig文件之后,在PROJECT的info->Configurations中設置Debug和Release配置文件,如下圖
四、配置完成之后添加Flutter.framework,在flutter項目中可以看到.ios項目,把.ios/Flutter/engine引入iOS項目,僅僅是路徑引用,沒有復制進iOS項目,如下圖
添加的時候會出現flutter項目中.ios不顯示,這個時候執行command+shift+G,輸入路徑即可顯示添加,如下圖
五、引入Flutter.framework之后,Flutter.framework是動態庫,所以要在相應的TARGET Build Phases->Emded Frameworks添加Flutter.framework,Destination類型是Frameworks類型,如下圖
六、在TARGET Build Phases添加腳本,如下圖
"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" build "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" embed
七、創建一個ViewController 繼承FlutterViewController,運行項目加載ViewController即加載flutter
如下圖:
八、補充
上面僅僅只能滿足基本的flutter項目,flutter使用插件的時候,例如本地存儲shared_preferences,網絡檢查connectivity等,在flutter項目中有效, 運行iOS項目無效,這時候需要iOS引入flutter使用的第三方庫
下一篇 會寫不使用cocoapods,引入flutter使用的第三方及GeneratedPluginRegistrant注。