若想要透過 Visual Studio 開發 .NET MAUI 並進行 iOS 應用程式的開發,勢必要在 Visual Studio 當中登入 Apple Developer Account,以利取得憑證等資訊。
取得相關資訊後,在進行 iOS 應用程式部署的時候(安裝到測試實機上) 或是打包發版(發佈到 AppStore Connect)的時候,都會相對簡便。
不過,現在不再支援直接使用登入帳號密碼的方式使用。
請改用 Apple Developer 的 API Key 來存取囉!
若想要透過 Visual Studio 開發 .NET MAUI 並進行 iOS 應用程式的開發,勢必要在 Visual Studio 當中登入 Apple Developer Account,以利取得憑證等資訊。
取得相關資訊後,在進行 iOS 應用程式部署的時候(安裝到測試實機上) 或是打包發版(發佈到 AppStore Connect)的時候,都會相對簡便。
不過,現在不再支援直接使用登入帳號密碼的方式使用。
請改用 Apple Developer 的 API Key 來存取囉!
開發 Apple 的 iOS 應用程式,若在 Mac 裝置安裝好 Xcode 時,就可以透過 Xcode 直接建立該 Mac 裝置的機器憑證,送至 Apple 的 Developers 網站當中以利後續使用 "iOS 裝置" 開發或測試應用程式。
甚至,後續要將 iOS 應用程式發佈至 AppStore Connect 當中,無論是要先進行 TestFlight 測試;或是對自己的 iOS 應用很有信心要直接送審,也都是需要先有 Mac 裝置製作的機器憑證,作為 iOS 應用程式發佈憑證才行。

也就是說無論要用哪種開發技術,想要發佈 iOS 應用程式到 App Store 都必須處理這檔事。
Windows 上如果設定了時區(無論手動或自動),透過 TimeZoneInfo 取出的時區識別碼,都是根據所設定的地區的時區,並且回應成 Windows 使用的 TimeZone 格式識別碼。

例如設定為 (UTC +08:00) 台北取出來的識別碼的值會為:"Taipei Standard Time" 的字串資料。
但是…
這篇有提到:
在 macOS 上最主要就是要安裝 Xcode,而如果要安裝 Xcode 的管道,基本上有兩種:
- 透過 macOS 上的 App Store 安裝。(登入 Apple 帳號後即能免費下載使用)
- 透過 Apple Developers 網站來下載 .xip 安裝。(需要先有訂閱 Apple 開發者帳號才能下載使用)
本篇就來談談如何透過 .xip 來安裝 Xcode。
在 Nuget 的相依協助下,已經某種程度上可以是協助擺脫 dll hell 的一大工程(功臣?)
但是如果在一個解決方案當中有多個專案要引用相同的 Nuget 套件時,可能會發生各個不同的專案有各自使用不同 Nuget 套件的版本(套件相同版本不同)。
而每次要更新某個 Nuget 套件時就會要針對不同專案要處理更新,就會顯得相當繁瑣。
在 .NET 6.0 的設計中,開始可以使用中央的套件管理 Central Package Management (CPM) 的處理方式來處理這個問題。
在使用 .NET MAUI 的時候可以透過 Google 推出的 Android Emulator 來建立 Android Virtual Device (AVD),以便進行基本的 Android App 開發與前期的測試。

雖然在 App 的開發到後期通常會直接使用 實際的裝置 進行測試會比較恰當,但不可質疑的 AVD 在 Android App 很多開發情境當中仍是扮演著測試環節中很重要的部分。
而 Google 所推出的 Android Emulator 可以透過 Visual Studio 當中的 "Android 裝置管理員" 來使用,並且建立所需的 AVD 環境。
續接前篇,趕緊來看看怎達成下圖效果吧!

在 Visual Studio 要透由 .NET MAUI 來開發 iOS 應用,連接 macOS 的環境並且使用 iOS Simualtor 進行開發上的處理,應該會是最輕鬆的方式。

由於 Visual Studio 在安裝 .NET MAUI 的工作負載時,只會安裝 "基本" 的 Android 所需的開發與執行環境。如果有遇到一些狀況需要其他的進階使用時,那對於 Android SDK 的元件安裝就必須再進一步的調整。
例如在 前篇 的介紹當中,要啟動所建立的 Android Emulator 時就 "可能" 會有看到類似的提示畫面:

可以怎樣進一步嘗試調整呢?
可以看看本篇介紹。
而由於 .NET MAUI 是一套建置跨平台應用的開發技術,所以如果要在 上回 所建構出的 .NET MAUI 專案,直接切換建置 Android 出應用程式並不是什麼難事:

使用 .NET MAUI 開發 Windows 應用不是什麼難事:

看看如何透過 Visual Studio 的安裝來設定相關的開發環境囉~~
這不是一個什麼 .NET 的新特點了…只是一個犯蠢的紀錄。

只是近期常常發生這種犯蠢的事情,所以來我獨自筆記一下。
此為最終結果:

文長,慎入…

如果需要在 UI 上需要呈現統計圖表的話,LiveCharts2 是一套很不錯的統計圖表的套件,除了完全 OpenSource 外也如官網所提到的,對於 .NET 相關跨平台 UI Framework 都有支援。
https://livecharts.dev/#frameworks
如果考慮 UI 呈現的感覺與效果,個人覺得 LiveCharts2 實在稱的上是 .NET 跨平台開發者在統計圖表上的不二選擇!
在前一篇 "Avalonia.MAUI Hybrid 之使用 .NET MAUI Essentials 實作篇 - I" 所完成的基礎下,在此篇就能繼續加入相關的 .NET MAUI Essentials 的使用。
不過,還是要提醒一下,如果未完成 Visual Studio 所提供的 .NET MAUI 開發,並完成 Android 、 iOS 環境所需的建置。
那將無法完成本篇所講的部分測試結果。
Avalonia.MAUI Hybrid 之使用 .NET MAUI Essentials 介紹篇 提到的相關部分,如果是沒有接觸過 Avalonia UI 跟 .NET MAUI 一段時間的話,感覺要實際使用會有點難。
雖然 Avalonia.MAUI Hybrid 的 Repo: Avalonia.MAUI Hybrid 中有提供 Sample Code,但不知道為啥直接要使用時搞了一陣子都沒辦法成功。
最後只好自己實際來操作一次,透過 Avalonia UI 所提供的 Visual Studio 2022 所建立的專案範本開始建立起。
看看怎一步一步的完成囉~~~
在跨平台開發技術上若單就 UI 層面的跨平台的話,在 .NET 技術上有三套廣為人知的使用 .NET MAUI、Avalonia UI、Uno Platform。其各有千秋,在此就不多談相關比較(若有興趣可參考文後所推薦閱讀連結)。
近期則有比較特別的部分是 Avalonia UI 官方的 GitHub 推出了一個 Repo: Avalonia.MAUI Hybrid
雖然支援有其作業系統上的限制性(目前只支援 iOS、Android 兩套手機作業系統),但仍對 Avalonia UI 來說是一件相當有吸引力的事。
在 .NET MAUI 的專案當中若使用 Onion.Maui.GoogleMaps 這個 Nuget 套件(前身為 Xamarin.Forms.GoogleMaps) 後,在 iOS 平台上就能順利呈現 Google Maps 的效果:

接下來就看看如何在專案中開始使用此 "Onion.Maui.GoogleMaps" 套件囉~~~