Xamarin のホット再起動
Xamarin のホット再起動を使用すると、複数ファイルのコード編集、リソース、参照など、開発中のアプリに対する変更を迅速にテストできます。 新しい変更がデバッグ ターゲットの既存のアプリ バンドルにプッシュされ、ビルドと配置のサイクルが大幅に短縮されます。
重要
Xamarin のホット再起動は現在 Visual Studio 2019 バージョン 16.5 で安定的に利用でき、Xamarin.Forms を使用する iOS アプリをサポートしています。 Visual Studio for Mac と Xamarin.Forms 以外のアプリのサポートが計画中です。
要件
- Visual Studio 2019 バージョン 16.5 以降
- iTunes (Microsoft Store または 64 ビット版)
- Apple 開発者アカウントと有料 Apple Developer Program 登録
初期設定
Note
Visual Studio 16.8 以前のバージョンでは、Xamarin のホット再起動は既定で無効になっています。 [ツール] > [オプション] > [環境] > [プレビュー機能] > [Xamarin ホット リスタートを有効にする] で有効にすることができます。 Visual Studio 16.9 以降では、Xamarin のホット再起動は既定でオンになっています。[ツール] > [オプション] > [Xamarin] > [iOS 設定] > [ホット リスタートを有効にする] からオフにすることができます。
iOS プロジェクトがスタートアップ プロジェクトとして設定され、ビルド構成が [デバッグ | iPhone] に設定されていることを確実にします。
- これが既存のプロジェクトの場合は、[ビルド] > [Configuration Manager…] に移動し、iOS プロジェクトの [展開] が有効になっていることを確認します。
ツール バーの [ローカル デバイス] を選択してクリックし、セットアップ ウィザードを起動します。
iTunes がインストールされていない場合は、[Download iTunes]\(iTunes をダウンロード\) をクリックして、インストーラーをダウンロードします。 iTunes のインストールが完了したら [次へ] をクリックします。
iOS デバイスをコンピューターに接続します。 デバイスが既に接続されている場合は、プラグを抜いてから再接続します。 デバイス名が検出されると、ウィザードに表示されます。 次へ をクリックします。
Apple 開発者アカウントの資格情報を入力し、[次へ] をクリックします。
プロジェクトで自動プロビジョニングを有効にするために、ドロップダウン メニューを使用して開発チームを選択します。 [完了] をクリックします。
Note
自動プロビジョニングを使用することをお勧めします。これにより、追加の iOS デバイスを簡単に配置用に構成できるようになります。 ただし、適切なプロビジョニング プロファイルが存在する場合は、これを無効にして、手動プロビジョニングの使用を続行することができます。
Xamarin のホット再起動を使用する
初期セットアップの後、接続されているデバイスが [デバッグ ターゲット] ドロップダウン メニューに表示されます。 アプリをデバッグするには、ドロップダウンからデバイスを選択し、[実行] ボタンをクリックします。 デバッグ セッションを開始するため、デバイスでアプリを手動で起動するように求めるメッセージが Visual Studio で表示される場合があります。
デバッグ中にコード ファイルを編集し、[デバッグ] ツール バーの [再起動] ボタンを押すか、Ctrl + Shift + F5 キーを使用して、新しい変更が適用されたデバッグ セッションを再起動することができます。
また、HOTRESTART
プリプロセッサ シンボルを使用して、Xamarin のホット再起動でデバッグするときに特定のコードが実行されないようにすることもできます。
制限事項
- 現在、Xamarin.Forms および iOS デバイスでビルドされた iOS アプリのみがサポートされています。
- 64 ビットの iOS デバイスのみがサポートされています。 iOS 11 以降では、32 ビット アーキテクチャ (iPhone 5s よりも前のデバイス) で iOS アプリを実行することが Apple によって許可されなくなりました。
- ストーリーボードと XIB のファイルはサポートされていません。これらを実行時に読み込もうとすると、アプリがクラッシュする可能性があります。
HOTRESTART
プリプロセッサ シンボルを使用して、このコードが実行されないようにします。 - 静的な iOS ライブラリとフレームワークはサポートされていません。アプリがこれらを読み込もうとすると、実行時エラーまたはクラッシュが発生する可能性があります。
HOTRESTART
プリプロセッサ シンボルを使用して、このコードが実行されないようにします。 動的な iOS ライブラリはサポートされています。 - Xamarin のホット再起動を使用して、発行用のアプリ バンドルを作成することはできません。 アプリケーションを運用環境に完全にコンパイル、署名、配置するには、引き続き Mac マシンが必要です。
- 現在、資産カタログはサポートされていません。 ホット再起動を使用すると、アプリには Xamarin アプリに対する既定のアイコンと起動画面が表示されます。 Mac とペアにした場合、または Mac 上で開発している場合は、資産カタログが機能します。
トラブルシューティング
- デバイス固有のビルドを有効にすると、アプリがデバッグ モードに移行できない既知のイシューがあります。 回避策は、[プロパティ] > [iOS ビルド] でこれを無効にし、デバッグを再試行することです。 これは今後のリリースで修正される予定です。
- アプリがデバイスに既に存在する場合、ホット再起動を伴う配置を試行すると、
AMDeviceStartHouseArrestService
エラーが発生して失敗することがあります。 この回避策は、デバイスでアプリをアンインストールして、再度配置することです。 - Apple Developer Program に含まれていない Apple ID を入力すると、次のエラーが発生する可能性があります:
Authentication Error. Xcode 7.3 or later is required to continue developing with your Apple ID
。 iOS デバイスで Xamarin のホット再起動を使用するには、有効な Apple Developer アカウントが必要です。
その他の問題を報告するには、[ヘルプ]> [フィードバックの送信]> [問題の報告] からフィードバック ツールを使用してください。