Xamarin

Windows の Visual Studio から Mac に接続して Xamarin の iOS プロジェクトをビルドして実行する

More than 1 year has passed since last update.

実は長い間ほったらかしにしていたのですが、最近 Windows の Visual Studio から Mac に接続して Xamarin の iOS プロジェクトをビルドできるようにしましたので、そのときのメモを残しておきます。

公式ドキュメント

公式ドキュメントはこのあたりになると思います。

手順

前提です。

  • Windows の Visual Studio でビルドできる。
  • Mac の Xamarin Studio でビルドできる。

接続します。

  1. Mac の System Preferences で Sharing > Remote Login を許可する。
  2. Windows の Visual Studio で ツール > iOS > Xamarin Mac Aagent を起動し、 Add Mac する。コンピュータ名を入力。名前とパスワードを入力。

ビルドします。

  1. iOS プロジェクトをスタートアップ プロジェクトに設定すると、デバッグ実行の候補に Mac 側のデバイスが出現する。
  2. デバイスを選択してデバッグ実行。

Device.png

以上、簡単です:)

見覚えのあるダイアログ

Remote Login の設定は、 Visual Studio 起動時に表示されるダイアログ Xamarin Mac Agent Instructions で案内されていました。また、このダイアログに続いて Add Mac... ボタンのあるダイアログも表示されます。これをずっと無視してたんですよね、 Don't show this again はチェックせずに。

XamarinMacAgentInstructions.PNG

トラブルシューティング

【解消】 Finger print 云々で Mac に接続できない

この問題は 11/17 に 4.2.1.62 が出てから 11/22 に 4.2.1.64 で修正されるまでの短い間だけ発生していたバグのようです *1。11/16~17 に開催された Connect(); // 2016 で盛り上がって Xamarin を触っていた人たちが(私も)踏みました:D *2

*1 Connect(); Keynote Releases | Xamarin Releases
*2 Xamarin for VS 4.2.1.62とAzure SDK 2.9.6でMac Agentに繋がらない問題の対策方法 - nuits.jp blog

Invalid credentials. で Mac に接続できない

ユーザー名かパスワードが間違っています。

InvalidCredentials.PNG

Couldn't connect to (hostname). で Mac に接続できない

Mac にログインした状態で Mac と接続してください。

CouldntConnectToHostname.PNG

ビルドの後の launch で失敗する

Windows 側と Mac 側とで Xamarin のバージョンを合わせてください。とりあえず最新にしてください。

エラーは特に出ていないのにシミュレーターの画面が表示されない

Windows 側に画面を表示する Remoted iOS Simulator は Visual Studio Enterprise Edition 限定です。ProfessionalCommunity の場合は Mac 側で見てください。