MAUI VisualStudio2022でmacOS15でデバッグできない！？方向けのTIPS

## はじめに
WindowsのVisualStudio2022でMAUIを使って開発している方へ。

:::note warn
2024年9月現在、macOS15にアップデートすることでiOSアプリのデバッグができなくなるので注意です。
:::

:::note info
いくつか一時凌ぎの回避策があるのでそれを共有します。
:::

:::note warn
これらの解決方法はMicrosoftが正式対応するまでの暫定的な方法です。
:::

## 対象者
WindowsでVisualStudio2022を使用してMAUI開発をされている方で、MacにペアリングしてiOSアプリをデバッグしている方


## 参考記事
こちらの記事に助けられました。ありがとうございます！
[Xcode 16.0 Support for .NET 8/9 and MAUI ](https://github.com/xamarin/xamarin-macios/issues/20802)







## TL;DL 結論



・MacOS15にアップデートしてXcode16をインストールするとVisualStudio2022からiOSデバッグできなくなる

:::note info
→　Xcode16ベータ版をいれて実機デバッグできます。
`＊ただしシミュレーターでのデバッグは不可でした`
:::

・Xcode16ベータを入れるとアーカイブをAppStoreConnectのTestFlightへアップできない。

:::note info
→　Xcode15.4を再度インストールし、コマンドラインツールをXcode15.4に設定します。※アイコンは使えない表記ですが、そのままXcode15を使える方法があります。
:::

・Microsoftの正式対応はいつ？

:::note warn
→　Xcode16対応は.NET9リリース時といわれています。(2024年11月ごろ）
:::




<a id="#Chapter3"></a>
# 問題: macOS15にアップデートし、Xcode16をインストールするとVisualStudio2022からiOSデバッグできなくなる
### 解決方法: Xcode16ベータ版を入れればiOS18の実機デバイスでデバッグできることを確認しました。

1. 以下のURLよりXcode16ベータ（2024年6月10日リリース版）をダウンロードします。
  ※アクセスするにはAppleDeveloperにログイン済である必要があります。
  https://developer.apple.com/download/all/?q=Xcode
:::note alert
【重要】2024年6月10日リリースのXcode16ベータをダウンロードください
:::

  ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/118819/558afa83-5383-b517-8741-93b0a0a76bde.png)
  <br />
1. xipファイルがダウンロードされるので解凍します。解凍すると以下のファイルができます。
  ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/118819/dcacbb97-4b61-667b-50de-6d6affe06097.png)

   <br />
1. 解凍したファイルの名前を「Xcode」へ変更します。
1. さきにXcode16をインストールしている場合は、アプリケーションフォルダにあるXcode16のアプリを先に削除します。
1. アプリケーションフォルダへ先のダウンロードし、名前を変更した「Xcodeファイル」を配置します。
1. Xcodeが起動できるか確認します。
1. この状態でVisualStudio2022からMacへペアリングすると成功し、iOS18実機でデバッグができました。

:::note warn
当方環境ではシミュレーターでのデバッグを試行しましたがうまくいってません（シミュレーターの処理がループする）
:::
:::note warn
Xcode16をすでに入れており、Xcode16ベータを入れた方はコマンドラインツールの指定でベータ版を指定すればいいとの情報もありますこと（未確認）
:::

<a id="#Chapter3"></a>
# 問題: Xcode16ベータを入れるとアーカイブをAppStoreConnectのTestFlightへアップできない
 WindowsのVisualStudio2022上でiOSアーカイブまでできますが、そのアーカイブを使ってXcode上からTestFlightへアップしようとするエラーになります。（エラーはベータ版でビルドされたものはAppStoreConnectにあげられないので、リリース版でビルドして・・という内容）この場合は再度Xcode15.4をインストールし、コマンドラインツールを変更します。　

1. 以下のURLよりXcode15.4をダウンロードします。
  ※アクセスするにはAppleDeveloperにログイン済である必要があります。
  https://developer.apple.com/download/all/?q=Xcode
1. xipファイルがダウンロードされるので解凍します。
1. 解凍した`Xcodeファイルを右クリック＞パッケージの内容を表示`

   ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/118819/ed55b52c-e036-e5db-89ad-b2606e46596b.png)
    <br />
1. 表示されたフォルダの`Contents>MacOSの中のXcodeをダブルクリック`
   ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/118819/93b39ea1-3068-15b7-28d8-e7425000268d.png)
   <br />

1. 開いたら上部のメニューのXcode > Settings > Locationsを選択肢、Commnad Line Toolsに「Xcode15 15.4(15F31d)を選択します。

1. ここまでできたらWindowsのVisualStudio2022にもどり、再度アーカイブします。するとXcode15.4のコマンドラインツールを使ってアーカイブされます。アーカイブができたらMacにもどり、XcodeからTestFlightへアップすると、無事アップできました。（Xcodeは先のXcode16betaを開いてもOKです）

1. ※ちなみに自分の場合はXcode15.4のファイルは名前を「Xcode15.4」にして、アプリケーションフォルダへ格納しました。

<a id="#Chapter3"></a>
# おまけ情報: VisualStudio2022からMacへペアリングするときエラーがでる

エラー内容

:::note warn
オブジェクト参照がオブジェクト インスタンスに設定されていません。
:::

VisualStudio2022ではMacとのペアリングの際、Monoの検証を行うため以下のサイトへアクセスするようです。
https://software.xamarin.com/service/products
ここのサイトへアクセスできない場合に上記のエラーが発生するようです。

:::note info
経験上だいたい１日待つとMicrosoftが対応してこのエラーは自然にでなくなります。
:::
参考: レジストリエディタを使えばこのMonoの検証をスキップすることができるようです（非推奨）
```
コンピューター\HKEY_CURRENT_USER\Software\Xamarin\VisualStudio\MacAgent
```
ここに以下の値を設定
```
DisableMonoValidation
```
値はTrue
 



## おわりに
MAUI開発者の皆様お疲れ様です！
Microsoftが正式対応するまでなんとか乗り切りましょう！