老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

包含flutter混編調試的詞條

2022-04-22iOS項目混編flutter,iOS真機debug模式下打不開flutter頁面

最近項目中要集成flutter來進行混編,但是在集成后,突然遇到一個很神奇的問題,在debug模式下,用數據線連接真機打包可以打開flutter頁面,但是一旦拔掉數據線,再打開flutter頁面就不行了,開始以為是因為flutterSDK的原因,但是一查資料才發現,原來是因為debug模式下flutter實現了熱重載,默認的編譯方式是JIV,但是iOS14+之后的系統限制了JIV這種編譯方式,所以連接Xcode重新run一個release包就可以了,因為flutter在release模式下的編譯方式是AOT,iOS14+的系統是支持這種編譯方式的,具體解決方案如下圖

創新互聯服務項目包括黑龍江網站建設、黑龍江網站制作、黑龍江網頁制作以及黑龍江網絡營銷策劃等。多年來,我們專注于互聯網行業,利用自身積累的技術優勢、行業經驗、深度合作伙伴關系等,向廣大中小型企業、政府機構等提供互聯網行業的解決方案,黑龍江網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到黑龍江省份的部分城市,未來相信會繼續擴大服務區域并繼續獲得客戶的支持與信任!

再運行就可以了。

當然還有另外一種解決方案,就是修改flutter的編譯配置,強制設為release

iOS(Swift版)Flutter集成關鍵步驟

1.在項目目錄執行 flutter create -t module XXX(flutter模塊名) ;

2.修改Podfile,設置path,關聯podhelper.rb,注意采用 load File.join() ,不采用之前的eval語句,在target do下install;

3.執行pod install;

4.修改AppDelegate為FlutterAppDelegate;

5.初始化并注冊FlutterEngine;

6.vscode里flutter attach實時調試;

做完這些正常開發是可以了,至于打包需要更改什么再續。

Flutter iOS混編 解決flutter在iOS14+ debug模式上無法運行的問題

iOS項目引入Flutter后,安裝Debug包,打開Flutter界面會出現"In iOS 14+, debug mode Flutter apps can only be launched from Flutter tooling, IDEs with Flutter plugins or from Xcode"問題。

解決辦法如下:

用 [Xcode] 打開工程項目,在 Build Settings 的最下方找到 User-Defined,點擊 + 按鈕,添加一個鍵為 FLUTTER_BUILD_MODE ,debug設置profile模式,release設置release 模式。

ios flutter 混編

最近在集成flutter進項目

以收集編譯產物并以cocopods方式集成

產物大概放入兩個pod庫

這個暫且叫pod1,pod1放flutter.framework,第三方plugin.a,自己寫的基礎plugin,比如networking,hud等等(由于是混編,不可避免存在很多原生基礎組件,所以能公用的基礎組件都會弄一個flutter-plugin橋接)

第二個pod2放編譯之后的app.framwork,注冊文件GeneratedPluginRegistrant,以及各個業務模塊.a(有可能沒有)結構大概如下面

podspec大概如下

主工程引入這兩個pod庫即可

接下來從零開始搭建上文所說的

先創建一個flutter module

這個是主flutter工程,用來集成businessModule以及生成app.framework

結構如下圖

再生成一個業務工程

注意此時還需要進入example生成ios和Android工程,不然無法單獨編譯運行

這樣 這個單獨的業務模塊就可以單獨跑起來了

此時主flutter工程和業務工程均搭建完畢

在主工程pubspec.ymal文件講兩個工程關聯

好了 接下來就是編寫腳本收集產物了

編譯完成之后會在flutter主工程product生成如下文件

將上面文件分類收集做成文章開頭的pod1,pod2 ,在native工程引入即可

在集成flutter的過程中 踩不少坑 也閱讀很多前輩的文章,在此一并感謝

Flutter工程化之iOS混編集成

在flutter官網上推薦了iOS項目中兩種混編方式:

筆者在采用兩種集成方式的過程中,因為iOS項目結構設計導致這兩種簡單的集成方式都有些麻煩,所以在實踐中更改和優化了集成方式,使之在筆者的項目中能夠更加簡單和快速的集成。

問題:在不更改flutter tool中相關腳本的前提下,添加的Script Phase中的腳本相對路徑錯誤,如果只是開發,手動更改下路徑就可以了,但是在考慮到CI中不能每次在pod install之后都去更改,所以在開發調試中采用該集成方式,結合flutter attach的方式去調試。

通過編譯相關的 xcframework + Cocoapods私有庫的集成方式在CI中集成,這樣QA的CI不需要配置flutter的相關依賴

根據flutter編譯工具的提示: 上面的編譯命令是打包flutter工程項目和插件的產物,在實際開發過程中可以發現是否引入了依賴Native的插件會導致貶義編譯產物的不同。

根據上面的對比:

第一部分:基礎的 Flutter Engine + Flutter App 編譯后的產物 Flutter.xcframwork -- Flutter引擎的包 App.xcframework -- 工程項目對應的AOT的編譯產物 第二部分:三方插件的注冊中心 FlutterPluginRegistrant.xcframework -- 第三方插件的注冊中心,其實是Native + iOS通信的集合 第三部分:依賴iOS Native的原生 FMDB . xcframwork path_provider_ios.xcframework sqflite.xcframework -- cached_network_image依賴的原生實現

根據上面的編譯產物可以知道Flutter和App是編譯后必有的包,后面的兩個部分完全是服務于三方插件的,到這可以解答第二個問題:筆者App的混編過程中混編插件失效是因為筆者在NativeApp中重寫了Flutter的容器,使用了FlutterEngineGroup動態創建多引擎去對應進入不同的功能模塊,混合插件是因為重寫過程中沒有通過GeneratedPluginRegistrant注冊插件,所以需要在Native的Flutter容器中注冊插件,使之生效。

在這為什么使用commit的hash作為flutter-libs的依賴,因為pod install的時候會有緩存,除了版本好,commit hash也能保證每次CI編譯通過 pod install 來更新flutter-libs依賴產物

完成?。?!


本文標題:包含flutter混編調試的詞條
本文地址:http://www.xueling.net.cn/article/dsgsppp.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 一级黄a视频 | 99热免费在线 | 日本午夜啪啪 | 男人激烈吮乳吃奶动态图 | 好大好硬好爽18禁视频免费 | 天天操天天艹 | 美女全黄视频 | 中文字幕亚洲码在线观看 | 大地资源中文在线观看免费 | 亚洲美女三区 | 国产精品亚洲二线在线播放 | 遮天在哪个软件可以免费阅读 | 亚洲av国产国产久青草 | 龙珠z国语版在线观看 | 亚洲国产精品一区在线观看 | 黄片毛片视频 | 国产艳妇AV在线 | 自拍偷拍国产精品 | 好紧好滑好湿好爽免费视频 | 国产成人A人亚洲精品无码 97人人爽人人爽人人一区二区 | 伊色综合久久之综合久久 | 日本高清免费看 | 日本娇小xxxⅹhd | 67194成人在线 | 97久久超碰成人精品网站 | 国产最好看的级SUV卡毛 | www.youjizz.com在线 | 无码H黄肉动漫在线观看 | 人妻在线日韩免费视频 | 亚洲在线视频一区 | 精品中文字幕在线观看 | 无码av一区二区三区在线观看 | 日本japanese漂亮丰满 | 把腿扒开让我添个痛快 | 免费观看黄色12片一级视频 | 激情内射日本一区二区三区 | 中文字幕免费专区 | 暖暖视频免费高清日本 | 澳门成免费crm大全 狠狠躁夜夜躁av蜜臀少妇 | 亚洲国产一区二区波多野结衣 | 日日夜夜噜 |