現有iOS工程引入flutter配置方式-記錄問題和經驗

来源:https://www.cnblogs.com/wsyuzx/archive/2023/03/24/17251706.html
-Advertisement-
Play Games

國際移動用戶識別碼( IMSI) international mobile subscriber identity 國際上為唯一識別一個移動用戶所分配的號碼。 從技術上講,IMSI可以徹底解決國際漫游問題。但是由於北美目前仍有大量的AMPS系統使用MIN號碼,且北美的MDN和MIN採用相同的編號,系 ...


現有iOS項目引入flutter模塊。

方式一:直接cocoapods引入fluttermodule(flutter工程必須是module類型)工程的路徑。

這個網上資料很多,也是flutter官網推薦的方式,可以參考這篇文章:https://www.jianshu.com/p/e3e689e77280  

優點是快,方便。  缺點是  原生項目和flutter項目 太過依賴

 

方式二:將flutter工程打包成framework,再放入iOS項目工程里。

可以參考文章:https://www.jianshu.com/p/bad5d57a086b 這裡寫的方式二

1. 命令行里,cd到flutter工程目錄下,運行命令輸出framwork:flutter build ios-framework --output=some/path/MyApp/Flutter/       可以加--no-profile 之類的 去掉一些打包項比如:

flutter build ios-framework --no-profile --output=/Users/yzx/Desktop/MyApp/Flutter

2. 在iOS工程的 target, Build Settings 里 找到 Framework Search Paths , 增加  $(PROJECT_DIR)/Flutter/$(CONFIGURATION)    這裡不要選擇debug或者release,而是編輯總體項自動選擇 。 將Flutter文件要放在對應路徑位置。PROJECT_DIR工程目錄下。

3.把打包出來的Flutter文件里的所有動態鏈接庫(隨意選Debug或Release一個目錄中的)(我選的是Release)拖入工程General -> Framework,Libraries那面板,設置為Embed & Sign(這一步我倒是沒碰到,也不知道是不是最新fluttersdk的緣故)。(註意:靜態庫,比如FlutterPluginRegistrant.framework不要加入,否則不能上架AppStore,判斷其他packge插件生成的framework是靜態還是動態,請看官網給的鏈接

註意,FlutterPluginRegistrant.framework不要加入,我這邊加入嘗試,發現工程運行的時候提示 Unable to install  

4.編輯MyApp.xcodeproj/project.pbxproj文件:查找替換所有path = ../Flutter/Debug或Release/xx.framework;替換為path = "../Flutter/$(CONFIGURATION)/xx.framework";(註意添加引號 ")。可以根據Debug或Release編譯時使用對應的framework。註意:flutter的生成的debug的framework可以運行在模擬器和真機,release的只能運行在真機。   --- 這一步我這邊嘗試也沒看到需要改動的地方。可能新版本flutter有所支持吧。   5.bitcode設為了NO,否則這裡遇到了編譯release版出錯 最後註意:flutter工程以後開發時如果增加了新的packge,要對新增加生成的framework做3-4步驟(若為靜態庫則不用加入)            
 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • windows安裝mysql8免安裝版教程,附網盤資源 鏈接:https://pan.baidu.com/s/1_qagfA-i7CbeWG3urIAlgw?pwd=iidx 提取碼:iidx 一、前言 本次使用的mysql版本為mysql8.0.32,安裝的系統為windows系統。使用免安裝的方 ...
  • 本文分享自華為雲社區《選擇KV資料庫最重要的是什麼?》,作者:GaussDB 資料庫 。 經常有客戶提到KV資料庫,但卻偏偏“不要Redis”。比如有個做安全威脅分析平臺的客戶,他們明確表示自己對可靠性要求非常高,需要的不是開源Redis這種記憶體緩存庫,而是KV資料庫。 雖然最後我也沒問清楚他們業務 ...
  • 一、工具介紹 YCSB 於 2010 年開源,YCSB是雅虎開源的NoSQL測試工具,通常用來對noSQL資料庫進行性能,註意此工具僅支持varchar和text類型,且列的長度可以增加,預設是10列,可以根據自己的需要增加列長。運行一個壓力測試需要 6 步: 配置需要測試的資料庫 選擇合適的資料庫 ...
  • 在MySQL中,如果訪問/連接MySQL資料庫時遇到“ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.xxx.xxx:xxx' (111)”這個錯誤,我們應該從哪些方面進行考慮和排查問題呢? 下圖是我總結整理的一個思維導圖, ...
  • 生產者創建消息。在其他基於發佈與訂閱的消息系統中,生產者可能被稱為發佈者 或 寫入者。 一般情況下,一個消息會被髮布到一個特定的主題上。生產者在預設情況下把消息均衡地分佈到主題的所有分區上,而並不關心特定消息會被寫到哪個分區。不過,在某些情況下,生產者會把消息直接寫到指定的分區。這通常是通過消息鍵和 ...
  • ChunJun 是一款穩定、易用、高效、批流一體的數據集成框架,⽀持海量數據的同步與計算。ChunJun 既可以採集靜態的數據,比如 MySQL,HDFS 等,也可以採集實時變化的數據,比如 binlog,Kafka 等。同時 ChunJun 也是一個支持原生 FlinkSQL 所有語法和特性的計算 ...
  • 資料庫設計 一、資料庫設計概述 資料庫的生命周期 從資料庫演變過程的角度來看,資料庫的生命周期可分為兩個階段: 資料庫分析與設計階段 需求分析 概念設計 邏輯設計 物理設計 資料庫實現與操作階段 資料庫的實現 操作與監督 修改與調整 資料庫設計的目標 滿足應用功能需求:主要是指用戶當前與可預知的將來 ...
  • 一、管理方式 ElasticSearch作為最常用的搜索引擎組件,在系統架構中發揮極其重要的能力,可以極大的提升數據的載入和檢索效率;但不可否認的是,在長期的應用實踐中,也發現很多不好處理的流程和場景; 從直觀感覺上說,業務中對索引的使用主要涉及如圖的幾個流程,其核心也就是索引的結構維護與數據的流動 ...
一周排行
    -Advertisement-
    Play Games
  • ## 引言 最近發現自己喜歡用的 Todo 軟體總是差點意思,畢竟每個人的習慣和工作流不太一樣,我就想著自己寫一個小的[Todo 項目]( https://github.com/circler3/TodoTrack ),核心的功能是自動記錄 Todo 執行過程中消耗的時間(尤其面向程式員),按照自己 ...
  • ### 前言 當我們編寫 C# 代碼時,經常需要處理大量的數據集合。在傳統的方式中,我們往往需要先將整個數據集合載入到記憶體中,然後再進行操作。但是如果數據集合非常大,這種方式就會導致記憶體占用過高,甚至可能導致程式崩潰。 C# 中的`yield return`機制可以幫助我們解決這個問題。通過使用`y ...
  • 1. ADO.NET的前世今生 ADO.NET的名稱起源於ADO(ActiveX Data Objects),是一個COM組件庫,用於在以往的Microsoft技術中訪問數據。之所以使用ADO.NET名稱,是因為Microsoft希望表明,這是在NET編程環境中優先使用的數據訪問介面。 ADO.NE ...
  • 1. 為什麼需要單元測試 在我們之前,測試某些功能是否能夠正常運行時,我們都將代碼寫到Main方法中,當我們測試第二個功能時,我們只能選擇將之前的代碼清掉,重新編寫。此時,如果你還想重新測試你之前的功能時,這時你就顯得有些難為情了,因為代碼都被你清掉了。當然你完全可以把代碼寫到一個記事本中進行記錄, ...
  • 1. 透過現象看本質 反射被譽為是 c#中的黑科技 ,在很多領域中都有反射的身影,例如,我們經常使用的ORM框架,ABP框架 等。 反射指程式可以訪問、檢測和修改它本身狀態或行為的一種能力。. 程式集包含模塊,而模塊包含類型,類型又包含成員。. 反射則提供了封裝程式集、模塊和類型的對象。. 您可以使 ...
  • # Rust Web 全棧開發之 Web Service 中的錯誤處理 ## Web Service 中的統一錯誤處理 ### Actix Web Service 自定義錯誤類型 -> 自定義錯誤轉為 HTTP Response - 資料庫 - 資料庫錯誤 - 串列化 - serde 錯誤 - I/ ...
  • 在前面的幾篇文章中,詳細地給大家介紹了Java里的集合。但在介紹集合時,我們涉及到了泛型的概念卻並沒有詳細學習,所以今天我們要花點時間給大家專門講解什麼是泛型、泛型的作用、用法、特點等內容 ...
  • ###BIO:同步阻塞 主線程發起io請求後,需要等待當前io操作完成,才能繼續執行。 ###NIO:同步非阻塞 引入selector、channel、等概念,當主線程發起io請求後,輪詢的查看系統是否準備好執行io操作,沒有準備好則主線程不會阻塞會繼續執行,準備好主線程會阻塞等待io操作完成。 # ...
  • 摘要:在讀多寫少的環境中,有沒有一種比ReadWriteLock更快的鎖呢?有,那就是JDK1.8中新增的StampedLock! 本文分享自華為雲社區《【高併發】高併發場景下一種比讀寫鎖更快的鎖》,作者: 冰 河。 什麼是StampedLock? ReadWriteLock鎖允許多個線程同時讀取共 ...
  • ## 併發與並行😣 ### 併發與並行的概念和區別 並行:同一個時間段內多個任務同時在不同的CPU核心上執行。強調同一時刻多個任務之間的”**同時執行**“。 併發:同一個時間段內多個任務都在進展。強調多個任務間的”**交替執行**“。 ![](https://img2023.cnblogs.co ...