搶鮮看 .NET 6 中的下一代 Xamarin.Forms - MAUI Preview2 (iOS 篇)

在 .NET 5 已經推出一段時日的今天,.NET 6 已經正式邁入 preview2 (正在撰寫本文的時候官方 release preview 3 了😂)階段。 

讓我們來看看下一代的 Xamarin.Forms 變成 MAUI 會是如何囉~~~

 Ba ba ri as ras ti ti ti ras ti ti. Rastis! Rastis! Ra ti ti la.

 

本篇延續 前一篇  搶鮮看 .NET 6 中的下一代 Xamarin.Forms - MAUI Preview2 (Android 篇) 繼續測試 iOS 的部分。

(本文章的內容截圖為 .NET 6 preview2 時完成,請捧友們斟酌對照觀看)


在此先解釋一下,個人仍比較習慣用 Windows 的環境作業,所以大部分都是在 Windows 當中透過遠端 SSH 連線到 Mac 環境下指令操作,所以本文會看到的指令設定部分會是 Windows 的 命令提示字元截圖,各位捧友仍可以在 Mac 環境的終端機下直接操作相關指令。

 

接著的操作其實跟在 Android 篇的做法雷同,透過 dotnet CLI 來安裝 MAUI Check 工具來檢查、安裝所需的套件。

dotnet tool install -g Redth.Net.Maui.Check

 

完成後一樣輸入:

maui-check

 

一樣如果遇到修正的詢問請直接按 'y' (想要自行輸入請打小寫 'y')。 

Ba ba ri as ras ti ti ti ras ti ti. Rastis! Rastis! Ra ti ti la.

 

看到此畫面時就恭喜你完成檢查與安裝的作業囉~~~

 

接著離開 MAUI-Check 回到 bash 底下。

 

可以繼續在 bash 中透過 dotnet cli 的指令輸入:

dotnet --version

來查詢安裝好的 dotnet 環境版本是哪個版本。

(再次提醒閱讀本文的捧友,撰寫本文的時候雖然 preview 3 已經推出,但測試的時候還只有 preview 2)

 

有看過 Android 篇 的朋友也應該不陌生,就是直接透過指令建立資料夾,並且切換到該資料夾目錄底下。

 

輸入指令(可搭配其他指令選項,詳情請見 -h or --help)

dotnet new maui

 

接著在 Mac 環境中的該資料夾就會出現 maui 的專案範本檔案,並且在 bash 回應建立完成。

 

接著利用 MAUI Check 在該資料夾當中來加入另外的 Nuget 套件引用路徑檔案,輸入指令:

maui-check config -dev --nuget-sources

 

指令執行完成後,會出現 NuGet.config 這個檔案在資料夾底下

 

接著回到 bash 後輸入:

dotnet build

 

開始進行編譯時可能會遇到 macOS 作業系統的權限請求,請記得要按 "好"。

Ba ba ri as ras ti ti ti ras ti ti. Rastis! Rastis! Ra ti ti la.

 

看到這個畫面時,恭喜編譯完成(因為測試環境的 Mac 沒有安裝 Android SDK,請忽略截圖當中紅色的 Android 錯誤訊息)。

 

接著請繼續在 dotnet cli 當中輸入

dotnet build --no-restore -t:Run -f net6.0-ios

 

編譯完成後,就會自動部屬到 Xcode 預設的 iOS 模擬器當中(沒有改變設定的話就是 iPad Pro 模擬器)。

 

如果想改成 iPhone 模擬器來執行看看的話,最簡單的方式是把 iOS 的專案設定檔給改成只有支援 iPhone 裝置執行即可。

找到該 iOS 專案資料夾。

 

打開 info.plist 並且修改 UIDeviceFamily 這個 Key 的內容值。


最後記得要存檔!

 

再次輸入一樣的指令重新進行編譯並部屬執行:

 

這次啟動的就是 iPhone 的 Simulator 囉😆

 

專案部屬完成。

 

最後就來測試一下

 

以上完成啦~~~

Rastis! Rastis! Rastis! Rastis!

 

相信後續相關的工具使用與操作會整合得更棒的,大家一起期待 GA 的那天囉🤗

 

註一: 截至目前 .NET 6 的 Preview3 仍未支援 Remoted iOS Simulator for Windows 作為 iOS 的顯示執行,詳請請見

 

下列參考文獻:


 


I'm a Microsoft MVP - Developer Technologies (From 2015 ~).
MVP_Logo

I focus on the following topics: Xamarin Technology, Azure, Mobile DevOps, and Microsoft EM+S.

If you want to know more about them, welcome to my website:
https://jamestsai.tw 


相關 Xamarin(.Forms) 推廣活動與課程,請詳見下列 Accupass (活動通) 列表:
https://www.accupass.com/organizer/detail/1910170752158115281580
 

本部落格文章之圖片相關後製處理皆透過 Techsmith 公司 所贊助其授權使用之 "Snagit" 與 "Snagit Editor" 軟體製作。