.NET8 MAUIをVisualStudioForMacで使う

# はじめに
<!-- 発端や概要を記載 -->
VisualStudioForMacは2024年8月31日には終わっちゃうよね。
けどMacで唯一使いやすいIDE。終わるまでは使い続けたいがよ。

最近.NET8がでたろう？それに合わせてMAUIも8になったがよ。
けど公式じゃVisualStudioForMacは.NET8をサポートせんっていいゆう。
困るがやけど。。

で、いろいろやってみたら、VisualStudioForMacでも.NET8でMAUIが開発できるようになったがよ！


# お急ぎの方は結論から

| No |    手順     |   
|---:|-------------|
| 1  | 手動で.NET8をインストールする            |            
| 2  | VisualStudioForMacのプレビュー機能で.NET8を有効にする          |    
| 3  | コマンドラインから .NET MAUI をインストール          |  

以上

# 目次
<!-- タイトルとアンカー名を編集 -->
1. [.NET8を手動でインストール](#Chapter1)
1. [VisualStudioForMacのプレビュー機能を有効にする](#Chapter2)
1. [コマンドラインから .NET MAUI をインストール](#Chapter3)
1. [おまけ：iOSシミュレーターが表示されない場合](#Chapter4)
1. [おわり](#Chapter5)

<!-- 各チャプター -->
## 環境
| 開発環境   |バージョン    |
|-----------|------------|
| __MAC OS__ | Sonoma 14.1.1 |
| __VisualStudioForMac__ | 17.6.7 |
| __XCode__ | 15.0.1 |

<a id="#Chapter1"></a>
# 1 .NET8を手動でインストール(1/3)

1. NET8のダウンロードページからインストーラーをダウンロードしてインストールしてや。
https://dotnet.microsoft.com/ja-jp/download/dotnet/8.0
＊自分のMacがArm64かx64かはターミナルで`uname -m　`で調べられるで

<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/118819/10cc2c42-2035-2aff-5a05-3e37a22c0107.png">


1. インストールしたら一応.NET8がはいったかターミナルで`dotnet --version`を実行して確認しとこ

お疲れ様！次いこう！

<a id="#Chapter2"></a>
# 2 VisualStudioForMacのプレビュー機能を有効にする(2/3)
1. VisualStudioForMacのメニューVisualStudio ＞　ユーザー設定

<img width="300" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/118819/817b7e18-4bf4-e7e1-b096-4c44acfeed32.png">

1. プレビュー機能 ＞　.NET8SDKを使用するにチェック＞VisualStudioの再起動
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/118819/9df6eea2-0e91-2032-2079-4829659a0d21.png)

:::note warn
あれ？MAUIの新規プロジェクト作成ができくなったがやけど？
このままやとプロジェクトを新規作成したときにMAUIが表示されなくなるがよね。
その対策は次へ
:::

<a id="#Chapter3"></a>
# 3 コマンドラインから .NET MAUI をインストール(3/3)

以下をターミナルで実行しよう！

```
sudo dotnet workload install maui
```

:::note info
ここまでやったらVisualStudioFormMacから.NET8のMAUIのプロジェクトも作れるで！
お疲れ様！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/118819/11b7e56b-ebaf-2d8d-8c94-787a5bfb83f5.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/118819/262a7aa9-e3ed-dc3c-16db-701be95b8864.png)

:::


<a id="#Chapter4"></a>
# 4 おまけ：iOSシミュレーターが表示されない場合

ここまでやって、いざデバッグしようとするとiOSシミュレーターが表示されてないって人いる？
自分も最初そうやったがよね。
以下の手順で表示されたき、試してみて。

## （確認１）iOS17がインストールされてるか?

Xcodeを開いて、iOSの新規プロジェクトを作成をはじめてみて。
以下のような表示がでてたら「GET」でインストールしてや。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/118819/3b341144-e13a-6017-9b5a-f675d01e6fa0.png)


## （確認2）XCodeのコマンドラインツールがインストールされてる？
XCodeを開いてメニューXcode＞Settings＞Locationsタブ>Command Line Toolsを確認。
このとき以下の画像のようなパス`/Applications/Xcode.app`になってる？
自分の場合は`/Library/Developer/CommandLineTools`になっちょった。
ほんでCommandLineToolsのところのドロップダウンを何回かクリックしてみたら、
あら不思議、パス`/Applications/Xcode.app`に変わったで。これでOK。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/118819/efa9148d-0a13-df1d-e5de-fe600f901993.png)



（おまけ）うえのやり方がもしだめやったら、ターミナルで手動でインストールやね。
コマンドラインツールのインストール
```
xcode-select --install
```

パスの変更
```
sudo xcode-select -s /Applications/Xcode.app/
```

一応パスが変更されたか確認
```
$ xcode-select -p
```

## （確認3）VisualStudioForMacでAppleSDKを確認
VisualStudioForMacを開いてメニューVisualStudio＞ユーザー設定＞SDKの場所/Apple
ここで場所`/Applications/Xcode.app`になっちゅうかどうか確認してみて。
違うかったら、変更しちゃって。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/118819/0d1599a9-318b-3ddd-05f0-eda8ee8859ca.png)


:::note info
ここまでやったら自分の環境ではiOSシミュレーターでMAUIプロジェクトをデバッグできたで！
お疲れ様でした！

<img width="200" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/118819/afb487fd-186b-ab17-6e8f-dd882f5fe626.png">
:::

## （確認4）なんかエラーがでる？
なんやようわからんエラーがでちょる場合は、VisualStudioForMacの再起動や、Mac自体を再起動したりしてみてや。それでうまくいったケースが何回かあったで。



## 5 おわりに
2024年8月でお別れやけど、VisualStudioForMacはやっぱ使いやすいIDEやったね！。
気の効いたインテリセンスや、簡単にデバッグできること。これらがインストールしただけですぐ使えるのがどれだけありがたかったか！
VisualStudioForMac、ありがとう！
※Microsoftさん、どうかMacでも開発を継続するように考え直しませんか？てへ


## 参考
こちらの記事に助けられました。ありがとう！

https://devblogs.microsoft.com/dotnet/announcing-dotnet-maui-in-dotnet-8/


https://www.youtube.com/watch?v=EGttIzsvtog

https://barakokutai.com/tech/simctl-error-solution/