はじめに
WindowsのVisualStudio2022でMAUIを使って開発している方へ。
2024年9月現在、macOS15にアップデートすることでiOSアプリのデバッグができなくなるので注意です。
いくつか一時凌ぎの回避策があるのでそれを共有します。
これらの解決方法はMicrosoftが正式対応するまでの暫定的な方法です。
対象者
WindowsでVisualStudio2022を使用してMAUI開発をされている方で、MacにペアリングしてiOSアプリをデバッグしている方
参考記事
こちらの記事に助けられました。ありがとうございます!
Xcode 16.0 Support for .NET 8/9 and MAUI
TL;DL 結論
・MacOS15にアップデートしてXcode16をインストールするとVisualStudio2022からiOSデバッグできなくなる
→ Xcode16ベータ版をいれて実機デバッグできます。
*ただしシミュレーターでのデバッグは不可でした
・Xcode16ベータを入れるとアーカイブをAppStoreConnectのTestFlightへアップできない。
→ Xcode15.4を再度インストールし、コマンドラインツールをXcode15.4に設定します。※アイコンは使えない表記ですが、そのままXcode15を使える方法があります。
・Microsoftの正式対応はいつ?
→ Xcode16対応は.NET9リリース時といわれています。(2024年11月ごろ)
問題: macOS15にアップデートし、Xcode16をインストールするとVisualStudio2022からiOSデバッグできなくなる
解決方法: Xcode16ベータ版を入れればiOS18の実機デバイスでデバッグできることを確認しました。
- 以下のURLよりXcode16ベータ(2024年6月10日リリース版)をダウンロードします。
※アクセスするにはAppleDeveloperにログイン済である必要があります。
https://developer.apple.com/download/all/?q=Xcode
【重要】2024年6月10日リリースのXcode16ベータをダウンロードください
-
xipファイルがダウンロードされるので解凍します。解凍すると以下のファイルができます。
-
解凍したファイルの名前を「Xcode」へ変更します。
-
さきにXcode16をインストールしている場合は、アプリケーションフォルダにあるXcode16のアプリを先に削除します。
-
アプリケーションフォルダへ先のダウンロードし、名前を変更した「Xcodeファイル」を配置します。
-
Xcodeが起動できるか確認します。
-
この状態でVisualStudio2022からMacへペアリングすると成功し、iOS18実機でデバッグができました。
当方環境ではシミュレーターでのデバッグを試行しましたがうまくいってません(シミュレーターの処理がループする)
Xcode16をすでに入れており、Xcode16ベータを入れた方はコマンドラインツールの指定でベータ版を指定すればいいとの情報もありますこと(未確認)
問題: Xcode16ベータを入れるとアーカイブをAppStoreConnectのTestFlightへアップできない
WindowsのVisualStudio2022上でiOSアーカイブまでできますが、そのアーカイブを使ってXcode上からTestFlightへアップしようとするエラーになります。(エラーはベータ版でビルドされたものはAppStoreConnectにあげられないので、リリース版でビルドして・・という内容)この場合は再度Xcode15.4をインストールし、コマンドラインツールを変更します。
-
以下のURLよりXcode15.4をダウンロードします。
※アクセスするにはAppleDeveloperにログイン済である必要があります。
https://developer.apple.com/download/all/?q=Xcode -
xipファイルがダウンロードされるので解凍します。
-
解凍した
Xcodeファイルを右クリック>パッケージの内容を表示
-
開いたら上部のメニューのXcode > Settings > Locationsを選択肢、Commnad Line Toolsに「Xcode15 15.4(15F31d)を選択します。
-
ここまでできたらWindowsのVisualStudio2022にもどり、再度アーカイブします。するとXcode15.4のコマンドラインツールを使ってアーカイブされます。アーカイブができたらMacにもどり、XcodeからTestFlightへアップすると、無事アップできました。(Xcodeは先のXcode16betaを開いてもOKです)
-
※ちなみに自分の場合はXcode15.4のファイルは名前を「Xcode15.4」にして、アプリケーションフォルダへ格納しました。
おまけ情報: VisualStudio2022からMacへペアリングするときエラーがでる
エラー内容
オブジェクト参照がオブジェクト インスタンスに設定されていません。
VisualStudio2022ではMacとのペアリングの際、Monoの検証を行うため以下のサイトへアクセスするようです。
https://software.xamarin.com/service/products
ここのサイトへアクセスできない場合に上記のエラーが発生するようです。
経験上だいたい1日待つとMicrosoftが対応してこのエラーは自然にでなくなります。
参考: レジストリエディタを使えばこのMonoの検証をスキップすることができるようです(非推奨)
コンピューター\HKEY_CURRENT_USER\Software\Xamarin\VisualStudio\MacAgent
ここに以下の値を設定
DisableMonoValidation
値はTrue
おわりに
MAUI開発者の皆様お疲れ様です!
Microsoftが正式対応するまでなんとか乗り切りましょう!