Xamarin.iOS 開発のために Mac とペアリングするPair to Mac for Xamarin.iOS Development

このガイドでは、[Mac とペアリング] を使って Visual Studio 2017 を Mac ビルド ホストに接続する方法を説明します。This guide describes how to use Pair to Mac to connect Visual Studio 2017 to a Mac build host.

概要Overview

ネイティブ iOS アプリケーションのビルドには、Mac 上でのみ動作する Apple のビルド ツールにアクセスする必要があります。Building native iOS applications requires access to Apple's build tools, which only run on a Mac. このため、Xamarin.iOS アプリケーションをビルドするには、Visual Studio 2017 はネットワークからアクセス可能な Mac に接続する必要があります。Because of this, Visual Studio 2017 must connect to a network-accessible Mac to build Xamarin.iOS applications.

Visual Studio 2017 の [Mac とペアリング] 機能は、Windows ベースの iOS 開発者の生産性が上がるように、Mac ビルド ホストの検出、接続、認証、記憶を行います。Visual Studio 2017's Pair to Mac feature discovers, connects to, authenticates with, and remembers Mac build hosts so that Windows-based iOS developers can work productively.

[Mac とペアリング] を使うと、次のような開発ワークフローが可能になります。Pair to Mac enables the following development workflow:

  • 開発者は、Visual Studio 2017 で Xamarin.iOS のコードを記述できます。Developers can write Xamarin.iOS code in Visual Studio 2017.

  • Visual Studio 2017 は、Mac ビルド ホストへのネットワーク接続を開き、そのマシン上のビルド ツールを使って iOS アプリのコンパイルと署名を行います。Visual Studio 2017 opens a network connection to a Mac build host and uses the build tools on that machine to compile and sign the iOS app.

  • Mac 上で別のアプリケーションを実行する必要はありません。Visual Studio 2017 は SSH 経由で Mac ビルドを安全に呼び出します。There is no need to run a separate application on the Mac – Visual Studio 2017 invokes Mac builds securely over SSH.

  • 変更が行われるとすぐに Visual Studio 2017 は通知を受け取ります。Visual Studio 2017 is notified of changes as soon as they happen. たとえば、iOS デバイスが Mac に接続されたり、ネットワーク上で使用できるようになったりすると、iOS ツール バーが即座に更新されます。For example, when an iOS device is plugged in to the Mac or becomes available on the network, the iOS Toolbar updates instantly.

  • Visual Studio 2017 の複数のインスタンスを Mac に同時に接続できます。Multiple instances of Visual Studio 2017 can connect to the Mac simultaneously.

  • Windows のコマンド ラインを使って、iOS アプリケーションをビルドできます。It's possible to use the Windows command-line to build iOS applications.

注意

このガイドの手順の前に、次の手順を実行します。Before following the instructions in this guide, complete the following steps:

Visual Studio for Mac をインストールしない方がよい場合は、Visual Studio 2017 は Xamarin.iOS と Mono で Mac ビルド ホストを自動的に構成できます。If you would prefer not to install Visual Studio for Mac, Visual Studio 2017 can automatically configure the Mac build host with Xamarin.iOS and Mono. 詳しくは、「Mac の自動プロビジョニング」をご覧ください。For more information, see Automatic Mac provisioning.

Mac でリモート ログインを有効にするEnable remote login on the Mac

Mac ビルド ホストを設定するには、まずリモート ログインを有効にします。To set up the Mac build host, first enable remote login:

  1. Mac で、[システム環境設定] を開き、[共有] ウィンドウに移動します。On the Mac, open System Preferences and go to the Sharing pane.

  2. [サービス] リストの [リモート ログイン] オプションをオンにしますCheck Remote Login in the Service list.

    リモート ログインを有効にするEnabling Remote Login

    [すべてのユーザー] にアクセスできるように構成されていること、またはお使いの Mac のユーザー名またはグループが許可されたユーザーのリストに含まれていることを確認します。Make sure that it is configured to allow access for All users, or that your Mac username or group is included in the list of allowed users.

  3. メッセージが表示されたら、macOS ファイアウォールを構成します。If prompted, configure the macOS firewall.

    着信接続をブロックするように macOS ファイアウォールを設定した場合は、mono-sgen による着信接続の受信を許可することが必要な場合があります。If you have set the macOS firewall to block incoming connections, you may need to allow mono-sgen to receive incoming connections. その場合は警告が表示されます。An alert appears to prompt you if this is the case.

  4. Mac が Windows コンピューターと同じネットワーク上にある場合、Visual Studio 2017 で Mac を検出できるようになります。If it is on the same network as the Windows machine, the Mac should now be discoverable by Visual Studio 2017. Mac をまだ検出できない場合は、Mac を手動で追加してみるか、またはトラブルシューティング ガイドをご覧ください。If the Mac is still not discoverable, try manually adding a Mac or take a look at the troubleshooting guide.

Visual Studio 2017 から Mac に接続するConnect to the Mac from Visual Studio 2017

リモート ログインが有効になったので、Visual Studio 2017 を Mac に接続します。Now that remote login is enabled, connect Visual Studio 2017 to the Mac.

  1. Visual Studio 2017 で、既存の iOS プロジェクトを開くか、[ファイル] > [新規] > [プロジェクト] の順に選択し、iOS プロジェクト テンプレートを選択して、新しいプロジェクトを作成します。In Visual Studio 2017, open an existing iOS project or create a new one by choosing File > New > Project and then selecting an iOS project template.

  2. [Mac とペアリング] ダイアログを開きます。Open the Pair to Mac dialog.

    • [iOS] ツール バーの [Mac とペアリング] ボタンを使います。Use the Pair to Mac button iOS toolbar:

      [Mac とペアリング] ボタンが強調表示されている [iOS] ツール バーThe iOS toolbar, with the Pair to Mac button highlighted

    • または、[ツール] > [iOS] > [Mac とペアリング] の順に選択します。Or, select Tools > iOS > Pair to Mac.

    • [Mac とペアリング] ダイアログに、以前に接続したことがあって現在使用可能なすべての Mac ビルド ホストの一覧が表示されます。The Pair to Mac dialog displays a list of all previously-connected and currently-available Mac build hosts:

      [Mac とペアリング] ダイアログThe Pair to Mac dialog

  3. 一覧で Mac を選択します。Select a Mac in the list. [接続] をクリックします。Click Connect.

  4. ユーザー名とパスワードを入力します。Enter your username and password.

    • 特定の Mac に初めて接続するときは、そのコンピューターのユーザー名とパスワードの入力を求められます。The first time you connect to any paticular Mac, you are prompted to enter your username and password for that machine:

      Mac のユーザー名とパスワードを入力するEntering a username and password for the Mac

      ヒント

      ログインするときは、フル ネームではなくシステム ユーザー名を使います。When logging in, use your system username rather than full name.

    • [Mac とペアリング] はこれらの資格情報を使用して、Mac への新しい SSH 接続を作成します。Pair to Mac uses these credentials to create a new SSH connection to the Mac. 成功した場合、Mac 上の authorized_keys ファイルにキーが追加されます。If it succeeds, a key is added to the authorized_keys file on the Mac. 同じ Mac への以降の接続は自動的にログインします。Subsequent connections to the same Mac will login automatically.

  5. [Mac とペアリング] により自動的に Mac が構成されます。Pair to Mac automatically configures the Mac.

    Visual Studio 2017 バージョン 15.6 以降では、Visual Studio 2017 は接続された Mac ビルド ホスト上の Mono と Xamarin.iOS を、必要に応じてインストールまたは更新します (ただし、Xcode はやはり手動でインストールする必要があることに注意してください)。Starting with Visual Studio 2017 version 15.6, Visual Studio 2017 installs or updates Mono and Xamarin.iOS on a connected Mac build host as needed (note that Xcode must still be installed manually). 詳しくは、「Mac の自動プロビジョニング」をご覧ください。See Automatic Mac provisioning for more details.

  6. 接続状態アイコンを確認します。Look for the connection status icon.

    • Visual Studio 2017 が Mac に接続されていると、[Mac とペアリング] ダイアログのその Mac の項目に、現在接続されていることを示すアイコンが表示されます。When Visual Studio 2017 is connected to a Mac, that Mac's item in the Pair to Mac dialog displays an icon indicating that it is currently connected:

      接続された MacA connected Mac

      接続できる Mac は一度に 1 台だけです。There can be only one connected Mac at a time.

      ヒント

      [Mac とペアリング] の一覧で Mac を右クリックすると表示されるコンテキスト メニューでは、[接続...][この Mac を記憶しない][切断] を選択できます。Right-clicking any Mac in the Pair to Mac list brings up a context menu that allows you to Connect..., Forget this Mac, or Disconnect:

      [Mac とペアリング] のコンテキスト メニューThe Pair to Mac context menus

      [この Mac を記憶しない] を選んだ場合、選択した Mac に対する資格情報は保持されません。If you choose Forget this Mac, your credentials for the selected Mac will be forgotten. その Mac に再接続するには、ユーザー名とパスワードを再入力する必要があります。To reconnect to that Mac, you will need to re-enter your username and password.

Mac ビルド ホストとのペアリングが成功すると、Visual Studio 2017 で Xamarin.iOS アプリをビルドできるようになります。If you have successfully paired to a Mac build host, you are ready to build Xamarin.iOS apps in Visual Studio 2017. Xamarin.iOS for Visual Studio の概要」ガイドをご覧ください。Take a look at the Introduction to Xamarin.iOS for Visual Studio guide.

Mac とペアリングできない場合は、Mac を手動で追加してみるか、またはトラブルシューティング ガイドをご覧ください。If you have not been able to pair a Mac, try manually adding a Mac or take a look at the troubleshooting guide.

Mac を手動で追加するManually add a Mac

[Mac とペアリング] ダイアログの一覧に特定の Mac が表示されない場合は、手動で追加します。If you do not see a particular Mac listed in the Pair to Mac dialog, add it manually:

  1. Mac の IP アドレスを確認します。Locate your Mac’s IP address.

    • Mac で [システム環境設定] > [共有] > [リモート ログイン] を開きます。Open System Preferences > Sharing > Remote Login on your Mac:

      [システム環境設定] > [共有] で表示される Mac の IP アドレスThe Mac's IP address in System Preferences > Sharing

    • または、コマンド ラインを使用します。Alternatively, use the command line. ターミナルで次のコマンドを実行します。In Terminal, issue this command:

      $ ipconfig getifaddr en0
      196.168.1.8
      

      ネットワークの構成によっては、en0 ではなくインターフェイス名を使用する必要があります。Depending on your network configuration, you may need to use an interface name other than en0. たとえば、en1en2 などです。For example: en1, en2, etc.

  2. Visual Studio 2017 の [Mac とペアリング] ダイアログで、[Mac の追加...] を選びます。In Visual Studio 2017's Pair to Mac dialog, select Add Mac...:

    [Mac とペアリング] ダイアログの [Mac の追加] ボタンThe Add Mac button in the Pair to Mac dialog

  3. Mac の IP アドレスを入力して、[追加] をクリックします。Enter the Mac's IP address and click Add:

    Mac の IP アドレスの入力Entering the Mac's IP address

  4. Mac のユーザー名とパスワードを入力します。Enter your username and password for the Mac:

    ユーザー名とパスワードを入力するEnter a username and password

    ヒント

    ログインするときは、フル ネームではなくシステム ユーザー名を使います。When logging in, use your system username rather than full name.

  5. [ログイン] をクリックして Visual Studio 2017 を SSH 経由で Mac に接続し、既知のマシンの一覧に追加します。Click Login to connect Visual Studio 2017 to the Mac over SSH and add it to the list of known machines.

Mac の自動プロビジョニングAutomatic Mac provisioning

Visual Studio 2017 バージョン 15.6 以降では、[Mac とペアリング] により、Xamarin.iOS アプリケーションのビルドに必要なソフトウェア (Mono、Xamarin.iOS (Visual Studio for Mac IDE ではないソフトウェア フレームワーク)、およびさまざまな Xcode 関連ツール (ただし、Xcode 自体は含まれません)) で Mac が自動的にプロビジョニングされます。Starting with Visual Studio 2017 version 15.6, Pair to Mac automatically provisions a Mac with software necessary for building Xamarin.iOS applications: Mono, Xamarin.iOS (the software framework, not the Visual Studio for Mac IDE), and various Xcode-related tools (but not Xcode itself).

重要

  • [Mac とペアリング] は Xcode をインストールできません。手動で Mac ビルド ホストにインストールする必要があります。Pair to Mac cannot install Xcode; you must manually install it on the Mac build host. これは Xamarin.iOS の開発に必要です。It is required for Xamarin.iOS development.
  • Mac の自動プロビジョニングには、Mac でリモート ログインが有効になっている必要があり、Mac はネットワーク経由で Windows コンピューターにアクセスできる必要があります。Automatic Mac provisioning requires that remote login is enabled on the Mac, and the Mac must be network-accessible to the Windows machine. 詳しくは、「Mac でリモート ログインを有効にする」をご覧ください。See Enabling remote login on the Mac for more details.
  • 自動 Mac プロビジョニングで Xamarin.iOS をインストールするには、Mac に 3GB の空き容量が必要です。Automatic Mac provisioning requires 3GB of free space on the Mac to install Xamarin.iOS.

Visual Studio 2017 が Mac に接続している場合、[Mac とペアリング] は必要なソフトウェアのインストール/更新を実行します。Pair to Mac performs necessary software installations/updates when Visual Studio 2017 is connecting to the Mac.

MonoMono

[Mac とペアリング] は、Mono がインストールされていることを確認します。Pair to Mac will check to make sure that Mono is installed. インストールされていない場合、[Mac とペアリング] は最新の安定バージョンの Mono をダウンロードして Mac にインストールします。If it is not installed, Pair to Mac will download and install the latest stable version of Mono on the Mac.

次のスクリーンショットで示すように (クリックすると拡大します)、さまざまなプロンプトで進行状況が示されます。Progress is indicated by various prompts, as shown by the following screenshots (click to zoom):

インストールのチェックInstall Check ダウンロード中Downloading インストールInstalling
MonoMono Mono がインストールされていないMissing Mono installation Mono のダウンロード中Downloading Mono Mono のインストール中Installing Mono

Xamarin.iOSXamarin.iOS

[Mac とペアリング] は、Windows コンピューターにインストールされているバージョンと一致するように、Mac 上の Xamarin.iOS をアップグレードします。Pair to Mac upgrades Xamarin.iOS on the Mac to match the version installed on the Windows machine.

重要

[Mac とペアリング] は、Mac 上の Xamarin.iOS をアルファ/ベータから安定にダウングレードすることはありません。Pair to Mac will not downgrade Xamarin.iOS on the Mac from alpha/beta to stable. Visual Studio for Mac をインストールした場合は、リリース チャネルを次のように設定します。If you have Visual Studio for Mac installed, set your release channel as follows:

  • Visual Studio 2017 を使用している場合は、Visual Studio for Mac で [安定] 更新チャネルを選択します。If you use Visual Studio 2017, select the Stable updates channel in Visual Studio for Mac.
  • Visual Studio 2017 Preview を使用している場合は、Visual Studio for Mac で [アルファ] 更新チャネルを選択します。If you use Visual Studio 2017 Preview, select the Alpha updates channel in Visual Studio for Mac.

次のスクリーンショットで示すように (クリックすると拡大します)、さまざまなプロンプトで進行状況が示されます。Progress is indicated by various prompts, as shown by the following screenshots (click to zoom):

インストールのチェックInstall Check ダウンロード中Downloading インストールInstalling
Xamarin.iOSXamarin.iOS Xamarin.iOS がインストールされていないMissing Xamarin.iOS installation Xamarin.iOS のダウンロード中Downloading Xamarin.iOS Xamarin.iOS のインストール中Installing Xamarin.iOS

Xcode ツールとライセンスXcode tools and license

[Mac とペアリング] は、Xcode がインストールされ、そのライセンスが同意されているかどうかも調べて判断します。Pair to Mac will also check to determine whether Xcode has been installed and its license accepted. [Mac とペアリング] では Xcode はインストールされませんが、次のスクリーンショットで示すように (クリックすると拡大します)、ライセンス同意のプロンプトは表示されます。While Pair to Mac does not install Xcode, it does prompt for license acceptance, as shown in the following screenshots (click to zoom):

インストールのチェックInstall Check ライセンスの同意License Acceptance
XcodeXcode Xcode がインストールされていないMissing Xcode installation Xcode のライセンスXcode license

さらに、[Mac とペアリング] は Xcode と共に配布されるさまざまなパッケージをインストールまたは更新します。Additionally, Pair to Mac will install or update various packages distributed with Xcode. 例:For example:

  • MobileDeviceDevelopment.pkgMobileDeviceDevelopment.pkg
  • XcodeExtensionSupport.pkgXcodeExtensionSupport.pkg
  • MobileDevice.pkgMobileDevice.pkg
  • XcodeSystemResources.pkgXcodeSystemResources.pkg

これらのパッケージのインストールは迅速に行われ、プロンプトは表示されません。The installation of these packages happens quickly and without a prompt.

注意

これらのツールは、Xcode コマンド ライン ツールとは異なります。macOS 10.9 の時点で、Xcode コマンド ライン ツールは Xcode と共にインストールされます。These tools are distinct from the Xcode Command Line Tools, which as of macOS 10.9 are installed with Xcode.

Mac の自動プロビジョニングのトラブルシューティングTroubleshooting automatic Mac provisioning

Mac の自動プロビジョニングを使用していて問題が発生した場合は、Visual Studio 2017 IDE ログ (%LOCALAPPDATA%\Xamarin\Logs\15.0) を確認してください。If you encounter any trouble using automatic Mac provisioning, take a look at the Visual Studio 2017 IDE logs, stored in %LOCALAPPDATA%\Xamarin\Logs\15.0. これらのログには、障害を診断したりサポートを受けたりするときに役立つエラー メッセージが含まれる可能性があります。These logs may contain error messages to help you better diagnose the failure or get support.

Windows コマンド ラインから iOS アプリをビルドするBuild iOS apps from the Windows command-line

[Mac とペアリング] は、コマンド ラインからの Xamarin.iOS アプリケーションのビルドをサポートしています。Pair to Mac supports building Xamarin.iOS applications from the command line. 例:For example:

C:\samples\App1>msbuild App1.sln /p:ServerAddress=10.211.55.2 /p:ServerUser=xamUser /p:Platform=iPhoneSimulator /p:ServerPassword=mypassword

上記の例で msbuild に渡されるパラメーターは次のとおりです。The parameters passed to msbuild in the above example are:

  • ServerAddress – Mac ビルド ホストの IP アドレス。ServerAddress – The IP address of the Mac build host.
  • ServerUser – Mac ビルド ホストにログインするときに使用するユーザー名。ServerUser – The username to use when logging in to the Mac build host. フル ネームではなくシステム ユーザー名を使います。Use your system username rather than your full name.
  • ServerPassword – Mac ビルド ホストにログインするときに使用するパスワード。ServerPassword – The password to use when logging in to the Mac build host.

注意

Visual Studio 2017 は、msbuildC:\Program Files (x86)\Microsoft Visual Studio\2017<バージョン>\MSBuild\15.0\Bin ディレクトリに格納します。Visual Studio 2017 stores msbuild in the following directory: C:\Program Files (x86)\Microsoft Visual Studio\2017<Version>\MSBuild\15.0\Bin

[Mac とペアリング] は、Visual Studio 2017 またはコマンド ラインから特定の Mac ビルド ホストに初めてログインするときに、SSH キーを設定します。The first time Pair to Mac logs in to a particular Mac build host from either Visual Studio 2017 or the command-line, it sets up SSH keys. これらのキーがあると、将来のログインではユーザー名またはパスワードは必要ありません。With these keys, future logins will not require a username or password. 新しく作成されたキーは、%LOCALAPPDATA%\Xamarin\MonoTouch に格納されます。Newly created keys are stored in %LOCALAPPDATA%\Xamarin\MonoTouch.

コマンド ラインでのビルドの呼び出しで ServerPassword パラメーターを省略すると、[Mac とペアリング] は保存されている SSH キーを使って Mac ビルド ホストへのログインを試みます。If the ServerPassword parameter is omitted from a command-line build invocation, Pair to Mac attempts to log in to the Mac build host using the saved SSH keys.

まとめSummary

この記事では、[Mac とペアリング] を使用して Visual Studio 2017 を Mac ビルド ホストに接続し、Visual Studio 2017 の開発者が Xamarin.iOS でネイティブ iOS アプリケーションをビルドできるようにする方法を説明しました。This article described how to use Pair to Mac to connect Visual Studio 2017 to a Mac build host, enabling Visual Studio 2017 developers to build native iOS applications with Xamarin.iOS.

次の手順Next steps