Xcode を使用した Xamarin.iOS アプリのデバッグ
Xcode を使用して Xamarin.iOS アプリケーションの一部をデバッグする必要があるシナリオが考えられます。 その .NET コードをデバッグすることはできませんが、Xcode でネイティブ コードをデバッグし、ネイティブ ビジュアライザーの一部を使用することはできます。
チュートリアル
Visual Studio for Mac には Xcode のデバッグの組み込みサポートはありませんが、以下の手順を使用することでこれを実現できます。
Xamarin アプリと同じバンドル ID を持つ Xcode iOS アプリを作成します。
Info.plist ファイルを開くと、Xamarin.iOS プロジェクトのバンドル識別子を見つけることができます。
Xcode では、プロジェクトの作成時に、またはプロジェクトでターゲットを選択して、バンドル識別子を設定します。
アプリを自動的に起動するのではなく、起動を待機するように Xcode プロジェクトを変更します。
[Edit Scheme] (スキームの編集) パネル を開くには、[Product] (製品) > [Scheme] (スキーム) > [Edit Scheme] (スキームの編集) を選択するか、[cmd⌘ + ]< キーボード ショートカットを使用します。
[Run] (実行) スキームを選択すると、右側のパネルに [Launch] (起動) オプションが表示されるはずです。 [Wait for executable to be launched] (実行可能ファイルが起動されるまで待つ) を選択し、[Close] (閉じる) をクリックします。
Xcode プロジェクトを実行します。
これにより、ダミーの Xcode アプリがデバイスにインストールされますが、起動はされません。
Xamarin アプリを実行します。
起動時に Xamarin アプリに Xcode がアタッチされます。
注意事項
起動するたびに Xamarin.iOS アプリに小さな変更を加える必要が生じる場合がありあす。 そうしないと、Visual Studio for Mac はアプリをビルドする必要がないこと、"および" それが既にインストールされていることを検出し、Xcode ダミー アプリにそれを再インストールしません。
代替方法 - lldb の使用
コマンド ラインからの lldb の使用に慣れている場合は、もっと簡単な解決策があります。
シェルで、次のコマンド入力します。
touch ~/.mtouch-launch-with-lldb
実行すべき操作について [Application Output] (アプリケーション出力) ウィンドウに指示が表示されますが、基本的には、アプリケーションを実行する際に、コマンド ラインから lldb を使ってアプリケーションをデバッグできます。