參考官方文件: Get Started: macOS install,並於以補充
在Mac上運行Flutter的最低需求如下:
由於目前Apple設備會有Intel晶片(x86架構)與M1以後的Silicon晶片(ARM架構),在一些設定上會有不同的處理方式需要注意。
開啟左上"蘋果" -> "關於這台Mac",可以查看硬體資訊,包含晶片版與macOS版本。像範例設備的資訊為
Apple M2
Ventura 13.2.1
基於我們的設備是M1,因此需要多加一個設定Rosetta環境的程序,我們開啟終端機並輸入指令sudo softwareupdate --install-rosetta --agree-to-license
,出現成功畫面
針對目前的設備進行對應的sdk下載(注意不要載錯!),並且官網上放的是最新的穩定版本,若要查詢或下載其他版本請參見Flutter SDK archive
我們選取sdk 3.7.7(apple silicon)版本進行下載,在下載完後將路徑移至欲放置位置,以桌面為例
在終端機是以Linux語法進行,而我們有幾個常用的指令
cd 資料夾名稱
: 移動至目前路徑的對應資料夾cd ..
: 回到上一層資料夾pwd
: 印出目前所在的當前位置ls
: 印出目前所在路徑下的所有檔案延伸參考: [ Linux 指令 ] cd 指令-切換目錄操作教學
延伸參考: Day26-終端機操作
由於稍後的設定會需要更改Mac的設定檔,進入設定檔後會是"Vim編輯器"的方式開啟,操作會與終端機有所不同,沒有滑鼠,只能以方向鍵與鍵盤輸入達成操作。以下介紹幾個常用的功能,首先在"終端機"裡,我們可以透過下列指令進入vim編輯器
vim 檔案名稱
: 用vim編輯器開啟對應檔案進入vim編輯器後初始是普通模式,可用上下鍵移動游標,而在我們輸入
i
: 進入Insert模式,可新增與修改字詞在插入模式中,當我們修改完欲增加的內容後,可以按下
esc鍵
: 退出插入模式回到普通模式當我們需要關閉/保存或離開Vim編輯器時,可以輸入冒號
:
: 開啟命令列模式在命令列模式中,輸入
w
: 代表存檔(Write)q
: 代表離開(quit)wq
: 代表存檔並離開接著便會回到終端機中
延伸參考: 鳥哥私房菜:第九章、vim 程式編輯器
延伸參考: 【Vim 編輯器 入門指南 (上)】用思維的速度寫程式
由於在官網的敘述裡,若僅只有在終端機輸入指令會只對「當前」的視窗進行作業(如紅線處所示),因此我們用以下步驟對Mac的設定檔作永久的環境變數設定
一開始,我們在終端機輸入以下指令,取得目前的Flutter SDK放置路徑
cd ~/Desktop
: 移動至桌面路徑cd flutter
: 移動至flutter資料夾cd bin
: 移動至bin資料夾pwd
: 印出目前路徑並複製,而此路徑就是我們flutter SDK的放置路徑
輸入指令vim ~/.bash_profile
開啟設定檔,輸入i
進入插入模式,並輸入指令export PATH="$PATH:剛剛查到的Flutter Bin的路徑
export PATH="$PATH:Users/widelab/Desktop/flutter/bin"
並按下esc鍵
,輸入:wq
,保存並離開vim編輯器,回到終端機中
輸入指令source ~/.bash_profile
,確保讓我們剛剛對bash_profile的修改可以產生作用
輸入flutter doctor -v
檢查,我們可以發現在Xcode的部分還有"CocoaPods"以及Chrome尚未安裝的問題
首先輸入指令sudo gem install cocoapods
,發現安裝到一半出現錯誤訊息
跟著訊息的指示輸入sudo gem install activesupport -v 6.1.7.3
sudo
,Superuser do,代表讓本命令具有系統管理員權限執行再輸入一次sudo gem install cocoapods
指令,成功安裝完CocoaPods,並且沒有跳任何錯誤訊息
輸入flutter doctor -v
檢查,可以發現Xcode部分由黃色驚嘆號轉為綠色勾號
開啟VS Code,在Extensions(延伸套件)安裝"Dart"與"Flutter"
開啟下方terminal處,按照前幾天所教導的,輸入flutter create 專案名稱
創建專案,cd 專案名稱
,並輸入flutter run
執行,並輸入1
選擇以macOS設備開啟(中間的紅字可以忽略)
成功執行畫面
我們對主畫面的Simulator->右鍵->Device->IPad Air(5th gerneration),可以開啟對應型號的虛擬機
當虛擬機開機完畢後,便可以在終端機輸入flutter devices
來檢查,並且重新執行一次flutter run
後便會出現在設備的選擇清單中,或是直接以Simulator開啟
Demo Code在Simulator上的顯示
因為在App Store上只會有最新版本的Xcode釋放,因此當我們的目前的MacOS與當前版本不支援時,就需要按照以下方法安裝硬體對應版本,例如,到Apple開發者網站,Xcode最低要求與對應支援SDK的表格,尋找自己的設備與對應Xcode版本
參考資料: Apple Developer: Minimum requirements and supported SDKs
並登入Apple Developer More Downloads,到裡面尋找剛剛確認的對應Xcode版本號
舉例,我們可以點選Xcode 14.3並進行下載
補充一下,新版的Xcode15問題很多,我換14.3就一切OK了!
另外請問一下,我上一篇用Ardroid studio有出現模擬器,
但是Mac 底下終端機執行,卻出現
2023-09-24 15:59:43.954 xcodebuild[42306:422657] DVTCoreDeviceEnabledState: DVTCoreDeviceEnabledState_Disabled set via user default (DVTEnableCoreDevice=disabled)
--- xcodebuild: WARNING: Using the first of multiple matching destinations:
{ platform:macOS, arch:arm64, id:00008112-0014046C14DA201E }
{ platform:macOS, arch:x86_64, id:00008112-0014046C14DA201E }
/Users/user/Library/CloudStorage/Dropbox/Code/Flutter/flu_app/build/macos/Build/Products/Debug/flu_app.app: replacing existing signature
/Users/user/Library/CloudStorage/Dropbox/Code/Flutter/flu_app/build/macos/Build/Products/Debug/flu_app.app: resource fork, Finder information, or similar detritus not allowed
Command CodeSign failed with a nonzero exit code
** BUILD FAILED **
Building macOS application...
Exception: Build process failed
選2,chrome會正常出現。
可能要先確認VScode有沒有連接上Android Emulator,再對要執行的檔案右鍵->Run Without Debugging試試看!因為自己本身是以iOS開發為主,可以參考下列YT
How to Run Flutter App on Android Emulator and iOS Simulator - 07 - Flutter App Dev Tutorial
我們對主畫面的Simulator->右鍵->Device->IPad Air(5th gerneration),可以開啟對應型號的虛擬機
我按了右鍵沒有東西出來,沒有辦法選對應型號的虛擬機....
那可以從Xcode左上角,開啟看看!
如果程式成功運行在虛擬機上的話,可以從Xcode裡面,點選虛擬機的圖示,再選取不同型號