iOS flutter工程如何不依賴Xcode來運行項目

背景:最近在做的項目是flutter的工程棚辽,代碼部分既有OC的原生代碼,也有dart的代碼冰肴,當然屈藐,大多數(shù)時間都是在寫dart的代碼,寫dart的代碼需要用VS code或Android Studio(下面簡稱AS)熙尉,我是習慣使用AS 的估盘,但是在run項目的時候,還得要打開Xcode骡尽,雖然不在 Xcode上寫代碼遣妥,但還是要把Xcode打開,把項目跑起來攀细,既然Xcode的作用這么卑微箫踩,那么有沒有辦法不打開Xcode也能把項目跑起來呀?

首先聲明一下谭贪,以下都是在模擬器下操作 境钟,并非真機,因為iOS的模擬器基本就可以滿足日常開發(fā)需求

1俭识、去Xcode化第一步 - 編譯

第一步慨削,當然是解決編譯問題,這個比較簡單套媚,因為我們可以通過腳本來替代Xcode的編譯
核心腳本

cd project/dir #進入你的項目目錄下
#打開模擬器
open -a Simulator
#終止運行
xcrun simctl terminate booted com.tencent.qq #后面的是項目bundle id
#依賴更新缚态,如果有需要的話
pod install
#編譯,如無需編譯直接運行堤瘤,可以把這句注釋
xcrun xcodebuild -workspace QQ.xcworkspace -scheme QQ -sdk iphonesimulator -configuration Debug -arch x86_64 -derivedDataPath build
#安裝到模擬器
xcrun simctl install booted  ./build/Build/Products/Debug-iphonesimulator/QQ.app
#模擬器運行玫芦,如果你改了bundle id,記得這里跟著改本辐,否則你跑起來的不一定是你當前編譯的
xcrun simctl launch booted com.tencent.qq

腳本注釋比較清楚桥帆,就不展開講解了,把這段腳本跑起來慎皱,基本就可以編譯成功并運行在模擬器上老虫。
可能遇到的問題:

  • 如果沒有編譯成功,那就是你項目代碼的問題茫多,好好檢查一下吧祈匙,試試看在Xcode是否能成功編譯
  • 有時候會遇到模擬器沒能成功打開,打開Activity Monitor看看simulator的進程是否已經(jīng)存在地梨,如果存在則kill掉缔恳,并且在terminal下重新執(zhí)行open -a Simulator
  • 打開的模擬器不是你想要的機型洁闰?比如我想打開iPhone 13的模擬器扑眉,但是打開的卻是一個iPhone 6赖钞;這種情況有兩個解決方案,第一種比較簡單雪营,就是打開Xcode献起,然后先用你喜歡的模擬器打開一遍,以后執(zhí)行open -a Simulator都會打開這個模擬器了姻政,它會記住它的;第二個方案比較有技術含量岂嗓,下面專門講一下

打開指定模擬

  • 首先執(zhí)行xcrun simctl list汁展,它會把電腦里支持的模擬器都列出來,并且在后面有一串很長的唯一標記的字符串厌殉,記住它
    模擬器列表
  • 執(zhí)行xcrun simctl boot 2245645B-AE71-444E-9965-9F7AAB522CC8食绿,后面這串改為對應模擬器的即可,這時候就會打開你指定的模擬器了

2公罕、去Xcode化第二步 - 斷點調試

有了第一步炫欺,不需要依賴Xcode也可以把項目編譯并在想要的模擬器上運行了。但是我們平時寫代碼熏兄,除了編譯運行品洛,還需要調試呀,如果你需要斷點調試原生的代碼摩桶,那不好意思,你還是打開Xcode吧硝清。我們這里說的是flutter項目唆香,所以只需要AS就好了(或者VSCode)趾浅,而Xcode本身也并不支持斷點調試flutter。
好了直接上干貨票渠,當?shù)谝徊酵瓿珊螅覀兊捻椖恳呀?jīng)在模擬器跑起來了,接下來要做的就是flutter attach扰藕,點擊下圖紅框的按鈕就好芳撒,當然前面的設備要選你跑起來的模擬器


flutter attach

attach成功后邓深,就可以斷點調試了,至于怎么調試笔刹,那就好好學一下 AS如何調試flutter吧芥备,不擴展了 。

3舌菜、去Xcode化最后一步 - 日志查看

調試除了斷點日月,有時候還需要看log山孔,我們之前看log都是在Xcode上的台颠,現(xiàn)在Xcode沒了,怎么看呢串前?
方法有很多谨读,這里講的是mac給我們提供的一個工具 Console

Console

先來認識一下它哆姻,關注 一下我加紅字的區(qū)域即可

  • 首先在左邊選擇你的模擬器(據(jù)說真機也可以用這個方法來看日志)
  • 然后在進程里找你的APP的進程,對應的就是你項目的日志了
  • 用鼠標選中就可以底部的日志詳細區(qū)看到對應的日志了


    Console

    那么問題來了,這里打印的是你所選設備的所有日志,太多了吧烹吵,怎么快速篩選呢锈津?
    看看右邊的搜索框了嗎琼梆?
    如圖所示性誉,可以通過 PROCESS過濾進程名,這樣就過濾出你的進程的日志了


    過濾maps的日志

    如果你還需要過濾更多的條件茎杂,也可以繼續(xù)在搜索框添加其他條件错览,很簡單,還有其他的功能煌往,比如暫停日志輸出倾哺,清空日志等,自己摸索吧刽脖。
    到這里就完全去Xcode化了羞海,可以僅靠AS,就可以完成iOS項目的編譯曲管、斷點調試却邓、看日志了,日常flutter的開發(fā)都滿足了院水。
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末腊徙,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子檬某,更是在濱河造成了極大的恐慌撬腾,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件橙喘,死亡現(xiàn)場離奇詭異时鸵,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進店門饰潜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來初坠,“玉大人,你說我怎么就攤上這事彭雾〉蹋” “怎么了?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵薯酝,是天一觀的道長半沽。 經(jīng)常有香客問我,道長吴菠,這世上最難降的妖魔是什么者填? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮做葵,結果婚禮上占哟,老公的妹妹穿的比我還像新娘。我一直安慰自己酿矢,他們只是感情好榨乎,可當我...
    茶點故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著瘫筐,像睡著了一般蜜暑。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上策肝,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天肛捍,我揣著相機與錄音,去河邊找鬼驳糯。 笑死篇梭,一個胖子當著我的面吹牛,可吹牛的內容都是我干的酝枢。 我是一名探鬼主播恬偷,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼帘睦!你這毒婦竟也來了袍患?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤竣付,失蹤者是張志新(化名)和其女友劉穎诡延,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體古胆,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡肆良,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年筛璧,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片惹恃。...
    茶點故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡夭谤,死狀恐怖,靈堂內的尸體忽然破棺而出巫糙,到底是詐尸還是另有隱情朗儒,我是刑警寧澤,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布参淹,位于F島的核電站醉锄,受9級特大地震影響,放射性物質發(fā)生泄漏浙值。R本人自食惡果不足惜恳不,卻給世界環(huán)境...
    茶點故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望亥鸠。 院中可真熱鬧妆够,春花似錦识啦、人聲如沸负蚊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽家妆。三九已至,卻和暖如春冕茅,著一層夾襖步出監(jiān)牢的瞬間伤极,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工姨伤, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留哨坪,地道東北人。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓乍楚,卻偏偏與公主長得像当编,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子徒溪,可洞房花燭夜當晚...
    茶點故事閱讀 44,901評論 2 355

推薦閱讀更多精彩內容