macOS 上的 Flutter App

zonble
3 min readDec 15, 2019

--

上週三 Flutter Interact 公布 Flutter 的桌面版本支援進入 Alpha 階段,趁著週末的時間簡單玩了一下。既然之前用 Fluter 做了一個給 iPlayround 研討會用的小 App,就簡單試著將這個 App 轉換成 macOS 版本,結果比想像中順利。

iPlayground App for macOS

這個 App 可以輕鬆轉換成 macOS 版本,主要還是這個 App 本身沒有用到什麼 native plugin,大概就是官方的 shared preferences 還有 url launcher 而已。不過,目前絕大多數的 native plugin,都還沒有 macOS 版本。

轉換流程大概就跟官方文件差不多:

  1. flutter branch master 指令,切換到開發中的 Flutter 分支,目前的版本是 Flutter 1.13.3-pre.23。
  2. 輸入 flutter config --enable-macos-desktop 指令,開啟 macOS 支援,然後用flutter create 指令,建立與 macOS 有關的檔案
  3. 因為在 shared preferences 這些 plugin 的時候,在 macOS 上還需要額外安裝 macOS 的版本,所以我們要在 pubspec.yaml 檔案中額外增加:
    url_launcher_macos: 0.0.1
    shared_preferences_macos: 0.0.1
  4. 我們要拿 Xcode 打開 macOS 目錄下的 Runner.xcworkspace 檔案(可能你要先下個 pod install 指令) 。由於 macOS App 是跑在 sandbox 當中,如果需要一些額外的權限,必須要在 entitlement 檔案中開啟;Flutter 幫我們建立好的 macOS 專案當中,並沒有把一些與連線相關的權限打開,但是 iPlayground App 需要從網路上下載一些議程資料,所以我們得在 Xcode 裡頭打開權限,如下圖。

這個時候我們就可以試試看執行我們的 App 了。我們可以在 Command Line 底下呼叫: flutter run -d macos,或是在 IDE 當中執行。

--

--

zonble
zonble

Written by zonble

XDDDD - eXtreme Due Date Driven Development

No responses yet