IOSMixedFlutter

示例地址

Demo介紹了iOS集成Flutter模塊,互相通訊,多環境配置,注意的地方。
關于集成的教程很多,這里就不一一贅述,這里記錄下碰到的問題

1、加載Flutter頁面失敗,報錯

Could not launch engine with configuration.

1. flutter clean
2. Go to Xcode > Product > Clean
3. flutter build ios
4. Open Runner in Xcode
5. Run Project to Make Sure it works

2、Flutter 修改了配置文件,無法加載最新資源

flutter build ios

有時候模擬器無法加載,連接用真機嘗試下

3、iOS項目Archive打包失敗

Code signing “Flutter.framework” failed

檢查下iOS項目配置,Build Phases應該如下配置

之前報錯是沒有添加Embed Frameworks導致的,添加問題解決

4、關于優化配置

檢查下iOS項目配置,Build Phases應該如下配置

這腳本意思是針對flutter模塊進行瘦身優化,官方腳本,待研究…

5、關于多環境配置的想法

既然是iOS項目集成Flutter,Flutter模塊的環境配置自然要和iOS模塊同步,本示例中演示了一個笨拙的辦法,通過iOS項目切換Scheme,通過FlutterMethodChannel交互通道,向flutter傳遞環境信息,flutter通過AppConfig模塊,接收環境信息,設置相關配置,達到環境統一的效果。

思考:我這里實現的方法有點不高級,有沒有切換Scheme同步切換Flutter環境的方法,比如flutter讀取xcconfig配置參數等,希望了解的朋友能指點我下,這個模塊待優化。

6、pod設置沒效果

flutter_application_path = '../flutter_module'
eval(File.read(File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb')), binding)

該設置pod install之后沒任何效果,不知道原因,那就手動搞吧,找到flutter_module模塊下的Flutter.frameworkApp.framework拖到項目中,記住要用引用的方式,不要拷貝,因為每次Flutter編譯生成新的App.framework,這里得實時更新才行,不然看不到最新效果。如果看不到最新效果,則同第二個問題一樣flutter build ios即可。

找到原因了,之前腳本失效,最新腳本如下

flutter_application_path = '../flutter_module'
load File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb')

先記錄到這里,后面碰到問題再同步更新。。。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容