初めてのアプリを作る - Windows編
それでは早速Visual StudioでXamarinを使ってみましょう。今回はテンプレートをそのまま実行するだけですが、次回以降では、より具体的なXamarinの使い方を紹介していきます。
プロジェクトを作成する
Visual Studioを起動し、メニューから[ファイル]→[新規作成]→[プロジェクト]を選択します。
表示された[新しいプロジェクト]ダイアログで[テンプレート]→[Visual C#]→[Cross-Platform]→[Blank App(Native Portable)]を選択し[OK]ボタンをクリックします。今回はApp1という名称で作成しました。
Xamarinには、いくつかのテンプレートが用意されていますが、今回利用する「Blank App(Native Portable)」テンプレートではiOS/Android/Windows Phone/ポータブルクラスライブラリ(PCL)という4つのプロジェクトで構成されるソリューションが作成されます。ソリューションエクスプローラーを見ると、これら4つのプロジェクトが作成されていることが分かります。
では初めに、iOS用のアプリをビルド/実行してみましょう。
Hello Xamarin.iOS!
App1.iOSをビルドして実行してみましょう(注:iOS版のビルド、実行にはMacが必要です)。
Macの設定を行う
Xamarin.iOSを使用すると、プロジェクトを読み込んだ時やビルドを実行しようとした時に、Macと接続するための設定画面が表示されます。
一度設定すれば接続先が記憶され、次回からは自動的に同じMacに接続されます。接続先のMacを変更したい場合は、メニューから[ツール]→[iOS]→[Xamarin iOS Agent]で再設定が可能です。
それでは早速Macと接続するための設定を行いましょう。
画面にはMacのSystem PreferencesのRemote Loginを設定するように表示されていますが、これは日本語版のMacでは[システム環境設定]→[共有]のリモートログイン設定に当たります。
この画面を開き[リモートログイン]をチェックし、[アクセスを許可]を[次のユーザのみ]としてリモートログインに使用するユーザーを選択します。画面上にも表示されていますが、この設定により外部からsshでこのMacにログインできるようになります。ですから、アクセスを許可するユーザーのパスワードはしっかりとしたものを設定しておくべきです。ユーザーのパスワードは[システム環境設定]→[ユーザとグループ]で設定できます。
以上でMac側の設定ができました。
Visual Studioの設定を行う
続いて、Visual Studio側のXamarin Mac Agentダイアログでの設定を行います。
接続先のMacが一覧に表示されている場合はダブルクリック、もしくは選択して[Connect]ボタンをクリックします。表示されていない場合は画面下部の[Add Mac]ボタンをクリックし、接続先Macの名称もしくはIPアドレスを入力します。
すると、接続先MacのユーザーID/パスワードを入力する画面が表示されます。Mac側でリモートログイン許可を与えたユーザーのユーザーID/パスワードを入力します。
もし接続に失敗した場合は、Mac側の設定やネットワーク設定などから、きちんとMacと通信できるかなどを確認してください。
アプリをビルド/実行する
それでは、いよいよアプリをビルド/実行してみましょう。
Visual Studioのツールバーから[スタートアッププロジェクト]→[App1.iOS]を選択します。
続いて同じくツールバーから[ソリューションプラットフォーム]をクリックし、iPhone/iPadの実機で実行するか、iPhoneシミュレーターで実行するかを選択します。ここでは、まず[iPhoneSimulator]を選択してシミュレーターで実行してみます。
iPhoneSimulatorを選択すると、実行ボタンの▼でシミュレーターの種類を選択できるようになります。この時に表示されるシミュレーターの種類はMac側でサポートされているシミュレーターです。
そのため、MacにインストールされているXcodeのバージョンを変更すると、ここに表示されるシミュレーターの種類も変わります。また、Macと正常に接続できていないとシミュレーターの種類が表示されません。もし表示されていない場合は、上記を参考にメニューの[ツール]→[iOS]→[Xamarin iOS Agent]から接続先Macを設定してください。
使用するシミュレーターを選択した上で、アプリの実行を開始(▶をクリックする/メニューから[デバッグ]→[デバッグの開始]を実行する/F5キーを押す)すればアプリが実行されます。すると、アプリをビルドする→シミュレーターを起動する→シミュレーター上のiOSにアプリをインストールする→アプリを起動させる、という一連の流れが実行されます。
なお、この時に実行されるシミュレーターはMacのものです。Windows上でiPhoneシミュレーターが動作するわけではありません。
このようにiPhoneシミュレーター上でアプリが起動すれば成功です。
「Blank App(Native Portable)」テンプレートで作成されたアプリは真っ白の背景に「Hello World, Click Me!」とだけ書かれたアプリとなっています。この文字部分をクリック(タップ)するとメッセージが変化します。
もちろんiPhoneシミュレーターだけでなく、iPhone実機を接続してアプリの実行やデバッグを行うことができます。
この場合、MacにUSBケーブルでiPhone/iPad/iPodを接続します。Windowsに接続するわけではありません。また、LANやWi-Fi経由での接続はサポートされていませんので、必ずUSBケーブルで接続する必要があります。
これはXamarinの制約ではなく、Xcodeでの実機デバッグがUSBケーブル経由のみしかサポートしていないことに起因しているようです。Xamarin.iOSの実機デバッグ機能は、Xcodeの実機デバッグ機能を利用しているため、そのような制約があると考えられます。
Xcodeでデバッグできるようになっていれば、Xamarin.iOSでもデバッグできます。より具体的な設定方法については次回以降に説明する予定です。
Hello Xamarin.Android!
続いてApp1.Droidをビルドして実行してみましょう。基本的な手順はXamarin.iOSと同様です。
アプリをビルド/実行する
まずはVisual Studioのツールバーの[スタートアッププロジェクト]→[App1.Droid]を選択します。
次にツールバーの[ソリューションプラットフォーム]→[Any CPU]を選択します。
スタートアッププロジェクトを選択すると、実行ボタンの▼でエミュレーターの種類を選択できるようになります。標準ではKitKat(Android 4.4)の5インチと7インチのいずれかを選択できます。
選択したAndroid OSが、Microsoft製のVisual Studio Emulator for Androidで実行されます。ほかのバージョンのAndroid OSや、ほかの画面サイズ/解像度のデバイスをエミュレーターで実行することもできます。これについての説明は次回以降に行う予定です。
それでは実行してみましょう。
使用するエミュレーターを選択した上で、アプリの実行を開始(▶をクリック/メニューから[デバッグ]→[デバッグの開始]を実行する/F5キーを押す)します。するとアプリがビルドされ、エミュレーターが起動します。
初めてVisual Studio Emulator for Androidを起動する時には、以下のメッセージが表示されるかもしれません。その場合は[再起動]ボタンをクリックし、続く「このアプリがデバイスに変更を加えることを許可しますか?」というダイアログに[はい]と応える必要があります。
本記事執筆時点では、上図のように「Windows Phone Packages」と表示されます。また、エミュレーターが起動した際には「Windows Phone OSを起動しています」とも表示されます。これはどうやらWindows Phoneエミュレーターの仕組みを使ってAndroid OSを実行しているからと考えられます。将来的にはメッセージが変更されるかもしれませんが、特に気にする必要はありません。
エミュレーターが起動すると、上図のように表示されます。
「Blank App(Native Portable)」テンプレートで作成されたアプリは、真っ黒の背景に「Hello World, Click Me!」と書かれたボタンが配置されています。このボタンをクリック(タップ)するとメッセージが変化します。
Xamarinの更新
XamarinをインストールしたVisual Studioを使用していると、まれにXamarinが更新されたと通知が出る場合があります。この場合には以下の手順でXamarinを更新します。
Visual Studioの[ツール]→[オプション]メニューを選択し、表示されたオプションダイアログで[Xamarin]→[Other]を開きます。
[Xamarin for Visual Studio Updates]の[Check Now]をクリックします。なお、Stable/Beta/Alphaを選択することもできます。Stableは安定バージョンのことで、正式リリースされたものです。BetaやAlphaを選択すれば、正式リリース前のバージョンをいち早く試すことができます。もちろん、不具合などの問題が発生する可能性も認識した上で選択するようにしてください。
アップデート版がある場合にはこのように表示されるので、[Download]ボタンをクリックし、インストールします。
次のページでは、Mac上で同様のアプリを作成していきます。